यह article सी # में, मनमाने ढंग से मूल्य प्रकारों को जोड़ने की अनुमति देने के लिए, एक + ऑपरेटर परिभाषित किया गया है। संक्षेप में यह निम्न कोड की अनुमति देता है:मनमाना मूल्य प्रकारों पर संचालन
public T Add(T val1, T val2)
{
return val1 + val2;
}
के रूप में वहाँ कोई गारंटी नहीं है टी प्रकार '+' ऑपरेटर के लिए एक परिभाषा है कि है, लेकिन प्रभाव इस तरह के कोड के साथ हासिल की है इस कोड संकलन नहीं करता है:
public T Add(T val1, T val2)
{
//Num<T> defines a '+' operation which returns a value of type T
return (new Num<T>(val1) + new Num<T>(val2));
}
यह देखने के लिए लिंक का पालन करें कि न्यू क्लास यह कैसे प्राप्त करता है। वैसे भी, सवाल पर। क्या सी या सी ++ में समान प्रभाव प्राप्त करने का कोई तरीका है? जिज्ञासा के लिए, जिस समस्या को मैं हल करने की कोशिश कर रहा हूं वह है कि एक CUDA कर्नेल को अधिक प्रकार के काम करने की अनुमति देकर अधिक लचीला/सामान्य होना चाहिए।
अद्यतन: .NET के लिए, मार्क ग्रेवेल ने utility library बनाया है जो ऑपरेटर की समस्या को बहुत सुंदरता से हल करता है।
। मूल रूप से आप वास्तव में किस प्रकार से चाहते हैं उससे बाहर निकलते हैं और इसके बजाय कहते हैं कि 'इसे विधियों और संचालन एक्स, वाई, इत्यादि का समर्थन करने की आवश्यकता है'। यह रूबी में प्राथमिक प्रकार की तंत्र के रूप में भी प्रयोग किया जाता है। – workmad3