मैं अपने संस्थाओं के लिए आधार वर्ग हैजेनरिक की सूची बनाएं
public class Entity<T> where T : Entity<T>, new()
{
public XElement ToXElement()
{
}
public static T FromXElement(XElement x)
{
}
}
क्योंकि मैं स्थिर विधि FromXElement भी दृढ़ता से टाइप किए जाने की चाहते मैं, यह अजीब निर्माण Entity<T> where T : Entity<T>
उपयोग करने के लिए है, मैं, कुछ संस्थाओं है की तरह कि
public class Category : Entity<Category>
{
}
public class Collection : Entity<Collection>
{
}
मैं बेस क्लास का उपयोग करके अपनी संस्थाओं की सामान्य सूची कैसे बना सकता हूं?
var list = new List<Entity<?>>();
list.Add(new Category());
list.Add(new Collection());
आप क्या करने की कोशिश कर रहे हैं? संग्रह में उन असमान प्रकारों की आपको आवश्यकता क्यों है? –
और कक्षाएं श्रेणी और संग्रह सामान्य प्रकार हैं ... स्वयं? –
@ डैनियलपर्सन इसे [उत्सुकतापूर्वक दोहराना टेम्पलेट पैटर्न] कहा जाता है (http://blogs.msdn.com/b/ericlippert/archive/2011/02/03/curiouser-and-curiouser.aspx) –