Bu yüzden şunu yazıyoruz:
Customer c = new Customer();
Tasarım neden yazdığımız gibi değil:
c = new Customer();
c.CreditLimit = 1000;
Derleyici, bir Müşteriye c puan verebilir ve Müşteri üyelerinin c?
Yazmak isteyebileceğimizi biliyorum:
IPerson c = new Customer();
IPerson e = new Employee();
Yazabilmek için:
public string GetName(IPerson object)
{
return object.Name
}
string name = GetName(c); // or GetName(e);
Ama yazsaydık:
c = new Customer();
e = new Employee();
hala yazabiliriz:
public string GetName(object)
{
return object.Name
}
string name = GetName(c); // or GetName(e);
Derleyici, c nesnesinin türü bir Name özelliğini desteklemiyorsa (yöntemdeki bağımsız değişken / parametre üzerinde hangi üyelerin kullanıldığını denetleyebildiğinden) veya çalışma zamanının şikayet edebileceği durumlarda hemen yukarıdaki koddan şikayet edebilir.
C # 'in dinamik anahtar kelimesinde bile, hala bir değişken türü (çalışma zamanında belirlenir) kullanıyoruz. Ama neden bir değişkenin bir türe ihtiyacı var? Eminim iyi bir sebep olmalı, ama düşünemiyorum!
var
C # ' da kullanabilirsiniz ve bir değişkeni nerede bildirmek istediğiniz konusunda açık olmak her zaman iyidir.