मैं C++/CLI और पूर्णांक आदिम के लिए एक स्पष्ट टेम्पलेट इन्स्टेन्शियशन में निम्नलिखित वर्ग ..उपयोग सी सी # में ++ CLI टेम्पलेट वर्ग
template<typename T>
public ref class Number
{
T _value;
public:
static property T MinValue
{
T get()
{
return T::MinValue;
}
}
static property T MaxValue
{
T get()
{
return T::MaxValue;
}
}
property T Value
{
T get()
{
return _value;
}
void set(T value)
{
if(value<MinValue || value > MaxValue)
throw gcnew System::ArgumentException("Value out of range");
_value = value;
}
}
};
template ref class Number<int>;
इस संकलन और उत्पन्न परावर्तक विधानसभा का उपयोग कर निरीक्षण पर मैं कर रहा हूँ एक वर्ग Number<int>
कहा जाता है को देखने के लिए, लेकिन सी # में यह एक ही कक्षा का दृष्टांत का प्रयास करते समय संकलक शिकायत System::Number
के बारे में कुछ वर्ग एक टेम्पलेट तर्क नहीं ले रही। मैं क्या गलत कर रहा हूं? क्या यह बिल्कुल किया जा सकता है?
दुख की बात है, सामान्य प्रकार के निर्माण के बाद से सी # C++/CLI का उपयोग कर एक ही कर सकते हैं का पूरा उद्देश्य धरा और समान रूप से अप्रभावी है। –
तब यह लग रहा है इस सवाल का जवाब आप पोस्ट की तरह जाने के लिए (भले ही है कि कुछ हद तक टेम्पलेट्स का उपयोग करने के उद्देश्य से भी धरा) एक ही रास्ता है। जैसा कि @ जेरेडपायर ने कहा, टेम्पलेट जेनेरिक के समान नहीं हैं, और केवल सी ++ टेम्पलेट का उपयोग कर सकते हैं। – Andy