क्या कोई यह बताने की परवाह करेगा कि यह कोड फोल्डिंग आउटपुट कैसे उत्पन्न करता है? वैकल्पिक पैरामीटर के साथविधि ओवरराइडिंग और वैकल्पिक पैरामीटर
using System;
namespace ConsoleApplication1
{
class Test
{
public override string ToString() { return "ToString override"; }
public string ToString(string optional = "")
{ return String.Format("ToString with optional parameter {0}", optional); }
}
class Test2
{
public new string ToString() { return "ToString new"; }
public string ToString(string optional = "")
{ return String.Format("ToString with optional parameter {0}", optional); }
}
class Program
{
static void Main(string[] args)
{
Test one = new Test();
Test2 two = new Test2();
Console.WriteLine(one);
Console.WriteLine(one.ToString());
Console.WriteLine(one.ToString("foo"));
Console.WriteLine("--");
Console.WriteLine(two);
Console.WriteLine(two.ToString());
Console.WriteLine(two.ToString("bar"));
Console.ReadKey();
}
}
}
ToString ओवरराइड
ToString
वैकल्पिक पैरामीटर foo साथ ToString
-
ConsoleApplication1.Test2
वैकल्पिक पैरामीटर पट्टी के साथ नई
ToString toString
आप कौन सी रेखा समझ में नहीं आती? (उन सभी के बारे में विस्तार से जाना मुश्किल होगा।) –
मूल रूप से कैसे संकलक विभिन्न तरीकों के बीच चुनता है, क्योंकि उनके समान हस्ताक्षर होते हैं। – pneuma08
उनके पास समान हस्ताक्षर नहीं हैं ... और फिर, यदि आप कहेंगे कि * कौन सी रेखाएं आप फंस गए हैं तो इससे मदद मिलेगी। आपने यह समझने की कोशिश की है कि ओवरलोड रिज़ॉल्यूशन कैसे काम करता है? वैसे, सी # 4.5 जैसी कोई चीज़ नहीं है। –