in src/React.Core/TinyIoC/TinyIoC.cs [3511:3537]
private bool IsIgnoredType(Type type, Func<Type, bool> registrationPredicate)
{
// TODO - find a better way to remove "system" types from the auto registration
var ignoreChecks = new List<Func<Type, bool>>()
{
t => t.FullName.StartsWith("System.", StringComparison.Ordinal),
t => t.FullName.StartsWith("Microsoft.", StringComparison.Ordinal),
t => t.IsPrimitive(),
#if !UNBOUND_GENERICS_GETCONSTRUCTORS
t => t.IsGenericTypeDefinition(),
#endif
t => (t.GetConstructors(BindingFlags.Instance | BindingFlags.Public).Length == 0) && !(t.IsInterface() || t.IsAbstract()),
};
if (registrationPredicate != null)
{
ignoreChecks.Add(t => !registrationPredicate(t));
}
foreach (var check in ignoreChecks)
{
if (check(type))
return true;
}
return false;
}