假设我有一个具有多种类型约束的通用方法,这个:
public static void DoSomethingAwesome<T>(T thing)
where T : IThing, IAwesome, IComparable<T>
{
...
}
现在....我怎样才能使用反射创建可以发送到那里的东西?
如果这只是一个约束,我知道我可以这样做:
var types = assembly
.GetTypes()
.Where(typeof (IThing).IsAssignableFrom)
foreach(var t in types)
DoSomethingAwesome((IThing) Activator.CreateInstance(t));
但是,不能真正投射到多个接口......我到底该如何解决这个问题?你可以说我现在几乎迷路了:P
标题有点长而复杂,因为我不知道该怎么称呼它,如果可以的话,请改进