Ich versuche, eine Funktion zu erstellen, die ein Feld von seinem Objekt zurückgeben kann.Feld nach Name erhalten
Hier ist was ich bisher habe.
public class Base
{
public string thing = "Thing";
public T GetAttribute<T>(string _name)
{
return (T)typeof(T).GetProperty(_name).GetValue(this, null);
}
}
Was würde ich am liebsten ist zu nennen:
string thingy = GetAttribute<string>("thing");
aber ich habe das Gefühl, ich das falsche Ende des Stockes bekam, wenn sie auf diese zu lesen, weil ich immer null Referenz Ausnahmen zu bekommen.
folgende Antwort Verwenden von [hier] (http://stackoverflow.com/questions/1196991/get-property-value-from-string-using-reflection-in-c-sharp) –
Beachten Sie, dass in C# der Begriff "Attribut" eine hat spezifische Bedeutung: Es ist ein Stück Metadaten, die unter anderem an Klassen oder Methoden angehängt werden können. Das ist nicht das, worum es in Ihrer Frage geht - die richtigen Begriffe wären, dass Sie "Reflexion" verwenden, um den Wert eines "Feldes" oder einer "Eigenschaft" zu erhalten. –