in src/React.Core/TinyIoC/TinyIoC.cs [4097:4123]
private void BuildUpInternal(object input, ResolveOptions resolveOptions)
{
//#if NETFX_CORE
// var properties = from property in input.GetType().GetTypeInfo().DeclaredProperties
// where (property.GetMethod != null) && (property.SetMethod != null) && !property.PropertyType.GetTypeInfo().IsValueType
// select property;
//#else
var properties = from property in input.GetType().GetProperties()
where (property.GetGetMethod() != null) && (property.GetSetMethod() != null) && !property.PropertyType.IsValueType()
select property;
//#endif
foreach (var property in properties)
{
if (property.GetValue(input, null) == null)
{
try
{
property.SetValue(input, ResolveInternal(new TypeRegistration(property.PropertyType), NamedParameterOverloads.Default, resolveOptions), null);
}
catch (TinyIoCResolutionException)
{
// Catch any resolution errors and ignore them
}
}
}
}