Wie kann ich ein Objekt in C# in einen anonymen Typ umwandeln?
Jan 05, 2025 pm 10:46 PMIn anonymen Typ umwandeln
Die Frage ist, wie man ein Objekt in einen anonymen Typ umwandelt. Anonyme Typen werden mithilfe von Objektinitialisierern erstellt und häufig als bequeme Möglichkeit zum Speichern von Daten verwendet. Allerdings haben sie keinen Typnamen, was ihre Umwandlung erschweren kann.
Eine Möglichkeit, ein Objekt in einen anonymen Typ umzuwandeln, besteht darin, einen Trick zu verwenden, bei dem ein Dummy-Wert des gewünschten anonymen Typs verwendet wird Typ. Dieser Dummy-Wert wird verwendet, um den Typ des umzuwandelnden Objekts abzuleiten. Hier ist ein Beispiel:
public class Program { public static void Main(string[] args) { var a = new { Id = 1, Name = "Bob" }; TestMethod(a); } private static void TestMethod(object x) { // This is a dummy value, just to get 'a' to be of the right type var a = new { Id = 0, Name = "" }; a = Cast(a, x); Console.WriteLine(a.Id + ": " + a.Name); } private static T Cast<T>(T typeHolder, object x) { // typeHolder above is just for compiler magic // to infer the type to cast x to return (T)x; } }
Eine andere Möglichkeit, ein Objekt in einen anonymen Typ umzuwandeln, ist die Verwendung einer generischen Erweiterungsmethode. Mit dieser Methode kann ein Objekt in einen beliebigen anonymen Typ umgewandelt werden. Hier ist ein Beispiel:
public static class AnonymousTypeExtensions { public static T CastTo<T>(this object value, T targetType) { // targetType above is just for compiler magic // to infer the type to cast value to return (T)value; } } public class Program { public static void Main(string[] args) { var a = new { Id = 1, Name = "Bob" }; var b = a.CastTo(new { Id = 0, Name = "" }); Console.WriteLine(b.Id + ": " + b.Name); } }
Es ist jedoch wichtig zu beachten, dass die Verwendung anonymer Typen auf diese Weise schwierig sein kann und im Allgemeinen nicht empfohlen wird. Es ist besser, stattdessen einen echten Typ zu verwenden.
Das obige ist der detaillierte Inhalt vonWie kann ich ein Objekt in C# in einen anonymen Typ umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

GULC: C -Bibliothek von Grund auf neu gebaut

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

eindeutiger Gebrauch und Phrasenfreigabe

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?
