Fonksiyon aşırı yükleme ile ilgili kurallar nelerdir?C# fonksiyon aşırı yükleme kuralları
Aşağıdaki kod var: Birlikte yukarıdaki kodu çağırdığınızda
public T genericFunc<T>() where T : Component, new()
{
T result = new T();
overloadedFunction(result);
}
private overloadedFunction (Component c) // catch all function
private overloadedFunction (DerivedFromComponent dfc) // specific function
: Ancak yakalamak Daha belirgin overloadedFunction çağrılacak bekliyoruz
genericFunc<DerivedFromComponent>();
tüm işlev yerine denir , bu neden?. Yukarıdaki koddan geçerken T tipi gerçekten de TüretilmişFromComponent, CLR'nin çalışma zamanında mümkün olan en iyi eşleşmeyi seçtiğini düşünmüştüm!
Doh ve yazmaya götürdü sürede bu Jon Skeet da dinamik dikkat çekti. – Josh
Sadece VS2010'un parlak yeni bir kopyasının ilkbaharda yönetimini almayı başarabilseydim, tüm sıkıntılarım buharlaşırdı ... ama ben .NET 3.5 ve VS2008 ile sıkışıp kaldım! –
Dürüst olmak gerekirse, sorunu çözmek için yukarıdaki kodu kullanmanızı önermem. Dinamik çözünürlük için haklı bir kullanıma çok iyi bir örnek değildir. – Josh