Ich habe Sams LINQ Unleashed for C # durchgespielt und auf Seite 7 aufgelistet:
Anonyme Typen können mit Methoden initialisiert werden, aber diese sind möglicherweise nur für Linguisten interessant.
Ich verstehe nicht wirklich, ob die Linguisten einen Witz kommentieren. Unabhängig davon ist es möglich, etwas in C #
zu tun %Vor%Hat jemand eine reale Lebenssituation, in der es notwendig wäre, eine Funktion innerhalb eines anonymen Typs zu definieren? Oder ist das nur ein Ergebnis der Typ-Inferenz ohne praktische Anwendung?
Ich würde sagen, es ist eher eine Eigenschaft vom Typ Func<T>
als eine Methode. In der Deklaration des Standardtyps würde es dieses Formular haben:
Und die Verwendung wäre wie bei jeder anderen Funktion, bei der Sie Ihr Ergebnis dynamisch an die aktuellen Werte anpassen müssen. Nur bei anonymen Typen gruppieren Sie die Daten nur temporär und müssen dafür keinen neuen Typ implementieren.
Nehmen wir zum Beispiel an, ich durchlaufe eine servicePayments
-Kollektion und möchte eine Zahlung und einen Wert für die gesamte Zahlung durch den Kunden erhalten. Hier, um TotalPayedByCustomer
zu berechnen, kann ich Func
verwenden. Ich konnte es in keiner anderen Art von Eigentum tun. Unterhalb eines Codes für diesen hypothetischen Typ.
Tags und Links c# linq lambda anonymous-types