यह शायद संभव नहीं है, लेकिन मैं इस वर्ग है:सी # - एक सूची में एक से अधिक सामान्य प्रकार
public class Metadata<DataType> where DataType : struct
{
private DataType mDataType;
}
वहाँ यह करने के लिए अधिक है, लेकिन यह आसान रखने दें। जेनेरिक प्रकार (डेटाटाइप) कहां से कथन द्वारा मूल्य प्रकार तक ही सीमित है। मैं जो करना चाहता हूं वह अलग-अलग प्रकारों (डेटाटाइप) के इन मेटाडेटा ऑब्जेक्ट्स की एक सूची है। जैसे:
List<Metadata> metadataObjects;
metadataObjects.Add(new Metadata<int>());
metadataObjects.Add(new Metadata<bool>());
metadataObjects.Add(new Metadata<double>());
क्या यह भी संभव है?
public interface IMetaData { }
public class Metadata<DataType> : IMetaData where DataType : struct
{
private DataType mDataType;
}
मुझे आश्चर्य है कि 'सूची
अमूर्त बेस क्लास और इंटरफेस दोनों सूची में जोड़े जा सकने वाले तत्वों के प्रकार को प्रतिबंधित करके नियंत्रण की एक डिग्री प्रदान करते हैं। मैं यह भी नहीं देख सकता कि इसमें मुक्केबाजी कैसे आती है। – 0b101010
बेशक, यदि आप .NET v4.0 या उच्चतर का उपयोग कर रहे हैं तो कॉन्वर्सिस समाधान है। 'सूची <मेटाडाटा>' चाल है। –
0b101010