Also schreiben wir:
Customer c = new Customer();
Warum ist das Design nicht so, dass wir schreiben:
c = new Customer();
c.CreditLimit = 1000;
Der Compiler kann c Punkte für einen Kunden berechnen und es ermöglichen, dass Mitglieder des Kunden auf c?
Ich weiß, wir möchten vielleicht schreiben:
IPerson c = new Customer();
IPerson e = new Employee();
um schreiben zu können:
public string GetName(IPerson object)
{
return object.Name
}
string name = GetName(c); // or GetName(e);
Aber wenn wir geschrieben haben:
c = new Customer();
e = new Employee();
wir konnten noch schreiben:
public string GetName(object)
{
return object.Name
}
string name = GetName(c); // or GetName(e);
Der Compiler könnte sich über den Code direkt darüber beschweren, wenn der Typ der Objekt-c-Referenzen keine Name-Eigenschaft unterstützt (da er überprüfen kann, welche Mitglieder für das Argument / den Parameter innerhalb der Methode verwendet werden), oder die Laufzeit könnte sich beschweren.
Selbst mit dem dynamischen Schlüsselwort von C # verwenden wir immer noch eine Variable 'type' (zur Laufzeit festgelegt). Aber warum braucht eine Variable überhaupt einen Typ? Ich bin mir sicher, dass es einen guten Grund geben muss, aber ich kann mir das nicht vorstellen!
var
in C # verwenden, und es ist immer gut, genau zu sagen, wo Sie eine Variable deklarieren möchten.