Ermittelt den Namen eines Feldes aus einer Klasse ohne Instanz

8

Also verwende ich das folgende Dienstprogramm, um den Namen eines Feldes / einer Eigenschaft von einer Instanz einer Klasse zu erhalten ...

%Vor%

Damit kann ich Folgendes tun:

%Vor%

Das ist großartig für die Serialisierung und andere Zeiten, wenn ich eine Zeichenfolgendarstellung des Feldnamens benötige.

Aber jetzt möchte ich den Feldnamen OHNE eine Instanz der Klasse bekommen können - zum Beispiel, wenn ich eine Tabelle aufstelle und die FieldNames der Spalten dynamisch mit tatsächlichen Feldern einer Klasse verknüpfen will (Refactorings usw. werden es nicht brechen).

Im Grunde genommen habe ich das Gefühl, dass ich nicht ganz die Syntax dafür erhalte, aber ich stelle mir vor, dass es ungefähr so ​​aussehen wird:

%Vor%

Ich hoffe, dass das Sinn macht - ich bin nicht sehr gut mit dem Vokabular rund um dieses Thema, daher weiß ich, dass die Frage ein wenig vage ist.

    
William 05.06.2012, 14:19
quelle

3 Antworten

3

Ich habe zwei Methoden, um das zu tun.

Die erste ist eine Erweiterungsmethode, die für jedes Objekt verwendet werden kann.

%Vor%

Was wie

verwendet wird %Vor%

Die Sekunde, die ich benutze, wenn ich kein Objekt habe.

%Vor%

Dies kann wie folgt verwendet werden

%Vor%     
cadrell0 05.06.2012, 17:41
quelle
4

Was Sie versuchen, ist einer der Gründe, warum Microsoft System.Reflection erstellt hat Probieren Sie dies aus:

%Vor%     
Jason Kulatunga 05.06.2012 14:22
quelle
2

Ich glaube, Reflection wird hier nützlich sein. Ich habe VS gerade nicht bei mir, aber ich bin mir sicher, dass Sie etwas wie typeof (class) .GetMembers () tun können. Mein Spiegelbild ist ein wenig eingerostet.

    
tylerjgarland 05.06.2012 14:23
quelle

Tags und Links