这个就很简答了,比起java,c#真的爽得不要不要的
var types = AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(a => a.GetTypes().Where(t => t.GetInterfaces().
Contains(typeof(IStrategy))))
.ToArray();
foreach (var v in types)
{
var dateTime1 = Activator.CreateInstance(Assembly.GetCallingAssembly().ToString(), v.FullName);
}
实验:
我定义了一个接口IStrategy
两个实现类:
调用上述函数,如果实例成功,则一定会输出"策略2"和"基本策略"
贼爽!!!