public static void DiscoverFromAssembly(Assembly asm = null) { if (asm == null) { asm = Assembly.GetCallingAssembly(); } foreach (Type type in asm.GetTypes() .Where(t => !(t.IsAbstract || t.IsGenericTypeDefinition || t.IsGenericType)) .Where(t => (typeof(IHardwireGenerator)).IsAssignableFrom(t))) { IHardwireGenerator g = (IHardwireGenerator)Activator.CreateInstance(type); Register(g); } }
public static void Register(IHardwireGenerator g) { m_Generators[g.ManagedType] = g; }