मुझे समझ नहीं आता क्या यहाँ पर जा रहा है के साथ सी # मुक्केबाजी enum त्रुटि ...जेनरिक
मैं निम्न त्रुटि मिल गया है: प्रकार 'TestApp.TestVal'
सामान्य प्रकार में प्रकार पैरामीटर 'T'
के रूप में इस्तेमाल नहीं किया जा सकता या विधि 'TestApp.SomeClass<T>'
। 'TestApp.TestVal'
से 'System.IComparable<TestApp.TestVal>'
पर कोई मुक्केबाजी रूपांतरण नहीं है। निम्नलिखित कोड के लिए
यह त्रुटि होता है:
public enum TestVal
{
First,
Second,
Third
}
public class SomeClass<T>
where T : IComparable<T>
{
public T Stored
{
get
{
return storedval;
}
set
{
storedval = value;
}
}
private T storedval;
}
class Program
{
static void Main(string[] args)
{
//Error is on the next line
SomeClass<TestVal> t = new SomeClass<TestVal>();
}
}
के बाद से enum डिफ़ॉल्ट रूप से एक int
है और int के IComparable<int>
इंटरफेस ऐसा लगता लागू की तरह उसमें कोई त्रुटि नहीं होना चाहिए ....
पूर्णांक के IComparable लगा देंगी, लेकिन इसका मतलब यह नहीं है कि RandomEnumType लागू करता IComparable । –
AakashM