है संकलन निम्नलिखित करना संभव है बिना:सामान्य प्रकार कास्ट प्रकार बाधा इंटरफेस करने
IFooCollection
सामान्य- स्पष्ट रूप
FooCollection
परIFooCollection.Items
को लागू करने और एक स्पष्ट डाली प्रदर्शन करना।
public interface IFoo
{
}
public interface IFooCollection
{
IEnumerable<IFoo> Items { get; }
}
public class FooCollection<T> : IFooCollection where T : IFoo
{
public IEnumerable<T> Items { get; set; }
}
मैं दूसरे समाधान के साथ पर्याप्त खुश हूँ (स्पष्ट इंटरफेस को लागू), लेकिन समझने के लिए कारण है कि मैं IFoo
रूप T
कास्ट करने के लिए जब हम एक सामान्य बाधा को निर्दिष्ट है कि है की जरूरत चाहते हैं T
चाहिए IFoo
लागू करें।
IFooCollection.Items
किसी भी वर्ग कि IFoo
लागू करता हो सकते हैं: