我的通用类看起来像这样:
public interface IFoo<T> where T : class
{
IList<T> GetFoo();
}
public class Foo<T> : IFoo<T> where T : class
{
public IList<T> GetFoo()
{
//return something in here
}
}
我想从程序集中的类型集合中使用该类,如下所示:
public class Bar
{
public IList<string> GetTheFoo()
{
IList<Type> theClass = Assembly.GetExecutingAssembly().GetTypes()
.Where(t => t.IsClass).ToList();
var theList = new List<string>();
foreach (Type theType in theClass)
{
//not working...
theList.Add(new Foo<theType>().GetFoo() );
}
}
}
但是编译器不能接受列表中的类型。如何解决这个问题?