Ich versuche, Reflektion zu verwenden, um die Daten von einer Variablen zu erhalten, die an die Methode als Objekt gesendet wird, und ich habe den folgenden Fehler: "Objektverweis nicht auf eine Instanz eines Objekts festgelegt."C# Reflektion wirft NullReferenceException
Der Code:
public object SendNetworkData(object input, Classes.Macro Command)
{
if (input is Classes.Authentication)
{
string Username = input.GetType().GetProperty("UserName").GetValue(input, null).ToString();
string Password = input.GetType().GetProperty("Password").GetValue(input, null).ToString();
Classes.Authentication InputAccount = new Classes.Authentication(Username, Password);
return InputAccount;
}
}
Das Problem entsteht bei Zeile 5, und, wie ich zu debuggen versuchen, wenn ich Eingang in Uhrenart, bekomme ich diese: Debug watch.
Eingang enthält diese zwei Mitglieder, aber aus irgendeinem Grund bekomme ich eine "Objektreferenz nicht auf eine Instanz eines Objekts festgelegt." Ausnahme. Was kann der Grund für diesen Fehler sein?
Sie versuchen, die Eigenschaft "UserName" zu erhalten. Es sollte "Benutzername" sein. –
'GetProperty()' gibt 'null' zurück, wenn eine (öffentliche) Eigenschaft mit diesem Namen nicht im Objekt gefunden wurde. Achten Sie also darauf, dass 'UserName' richtig geschrieben ist (Groß-/Kleinschreibung beachten!). –
Ja, ich habe mich von Benutzername zu Benutzername geändert, aber das Problem wird immer noch nicht behoben. –