我有基類,我的實體創建泛型列表
public class Entity<T> where T : Entity<T>, new()
{
public XElement ToXElement()
{
}
public static T FromXElement(XElement x)
{
}
}
我都用這個奇怪的建築Entity<T> where T : Entity<T>
,因爲我想靜態方法FromXElement被強類型 另外,我有一些實體,如這
public class Category : Entity<Category>
{
}
public class Collection : Entity<Collection>
{
}
如何創建我的實體的泛型列表,使用基類?
var list = new List<Entity<?>>();
list.Add(new Category());
list.Add(new Collection());
你想完成什麼?爲什麼你需要一個集合中的不同類型? –
而類別和集合是...自身的通用類型? –
@DanielPersson它被稱爲[好奇重複的模板模式](http://blogs.msdn.com/b/ericlippert/archive/2011/02/03/curiouser-and-curiouser.aspx) –