ich für C# durch Sams LINQ Unleashed Abschöpfen und auf Seite 7 aufgelistet:C# Methode Initialisierung in anonymen Typen
Anonyme Typen initialisiert werden können Methoden einschließen, aber diese könnten nur von Interesse für Linguisten sein.
Ich verstehe nicht wirklich, wenn die Linguisten Kommentar ist ein Witz. Unabhängig davon ist es möglich, so etwas wie dies in C#
var obj = new {
Name = "Joe", Weight = 200,
GetAge = new Func<int>(() => { return 43; })
};
Hat jemand eine reale Lebenssituation zu tun, wo es notwendig wäre, eine Funktion innerhalb eines anonymen Typs zu definieren? Oder ist das nur ein Ergebnis der Typ-Inferenz ohne praktische Anwendung?
Vielleicht ist es eine Art schlechter Witz? Von [Anonyme Typen (C# -Programmierhandbuch)] (http://msdn.microsoft.com/en-us/library/bb397696.aspx): _ "Anonyme Typen enthalten eine oder mehrere öffentliche schreibgeschützte Eigenschaften. Keine anderen Arten von Klassenmitglieder, wie Methoden oder Ereignisse, sind gültig. "_ –
@GrantWinney - Ich denke, dass eine schreibgeschützte Eigenschaft einen Ausdruck zurückgeben könnte. Dies ist anders als eine Methode oder ein Ereignis. – Hogan
Der Kommentar der Linguisten ist eindeutig humorvoll, aber nicht unbedingt unwahr. Wie Sie selbst gezeigt haben, ist es möglich, anonyme Objekte mit Methoden zu erstellen, aber für eine Situation, in der es "notwendig" wäre, sie zu verwenden, ist das ziemlich unwahrscheinlich. Deshalb sagte der Autor, dass sie nur für Linguisten von Interesse sein könnten. – JLRishe