पास करना मैं एक सामान्य प्रिंट फ़ंक्शन चाहता हूं ... प्रिंटजेनेरिक (टी) ... निम्नलिखित मामले में, मुझे क्या याद आ रही है?सी #: जेनेरिक ऑब्जेक्ट
हमेशा की तरह आपकी मदद/अंतर्दृष्टि की सराहना की है ...
public interface ITest
{}
public class MyClass1 : ITest
{
public string myvar = "hello 1";
}
public class MyClass2 : ITest
{
public string myvar = "hello 2";
}
class DoSomethingClass
{
static void Main()
{
MyClass1 test1 = new MyClass1();
MyClass2 test2 = new MyClass2();
Console.WriteLine(test1.myvar);
Console.WriteLine(test2.myvar);
Console.WriteLine(test1.GetType());
PrintGeneric(test1);
PrintGeneric<test2.GetType()>(test2);
}
// following doesn't compile
public void PrintGeneric<T>(T test)
{
Console.WriteLine("Generic : " + test.myvar);
}
}
'var' एक चर नाम नहीं किया जा सकता, क्योंकि यह एक कीवर्ड है। क्या आप अपना वास्तविक कोड दिखा सकते हैं। –
@AshBurlaczenko सही नहीं है। 'var' एक प्रासंगिक कीवर्ड है जो सी # 3.0 में जोड़ा गया है। आप इसे पहचानकर्ता नाम के रूप में उपयोग कर सकते हैं। इसी तरह, आप अधिकतर संदर्भों में पहचानकर्ता नाम के रूप में 'उपज', 'चयन',' से' आदि का उपयोग कर सकते हैं। –
वास्तव में "var" ने कंसोल का उपयोग किये बिना काम किया। राइटलाइन ... लेकिन यह एक कीवर्ड का उपयोग पहचानकर्ता नाम के रूप में करने के लिए मेरा बुरा था ... – user1229895