Birisi bu kodun folye çıkışını nasıl ürettiğini açıklamaya çalışır mı? isteğe bağlı parametre ileYöntem Geçersiz Kılma ve İsteğe Bağlı Parametreler
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 yüzdesel
.ToString isteğe bağlı bir parametre gıda v
.ToString
-
ConsoleApplication1.Test2
Console.WriteLine (bir)
Bu
WriteLine(object)
kullanacağız: genel ilgi var gibi burada hızlı bir versiyonu,
Hangi satırı anlamıyorsunuz? (Tüm bunlar hakkında ayrıntıya girmek sıkıcı olurdu.) –
Temel olarak, aynı imzaya sahip olduklarından, derleyicinin farklı yöntemler arasında nasıl seçtiği. – pneuma08
Aynı imzalara sahip değiller ... ve tekrar söylediğinizde * hangilerine takıldığınızı söylerseniz yardımcı olur. Aşırı yük çözünürlüğünün nasıl çalıştığını anlamaya ne kadar var? Bu arada, C# 4.5 diye bir şey yok. –