Ich habe eine Klassendefinition, die wie folgt aussieht:
public class SolrObj
{
[SolrUniqueKey("id")]
public int id { get; set; }
[SolrField("title")]
public string title { get; set; }
[SolrField("description")]
public string description { get; set; }
[SolrField("url")]
public string url { get; set; }
}
Und in einem Code, von dem aus SolrObj zugänglich ist, habe ich dies:
SolrObj a = new SolrObj
{
id = edit_id,
title = textbox_title.Text,
description = textbox_description.Text,
url = textbox_url.Text,
};
Allerdings, wenn das obige Snippet ausgeführt wird, erhalte ich eine NullReferenceException auf es. Ich verstehe nicht, wie das passieren kann, da ich versuche, es genau dort zu definieren. a ist das Null-Objekt, das die Ausnahme auslöst. Wie kann ich das beheben?
Entschuldigung für die einfache Frage. Das gleiche Snippet oben funktioniert anderswo in einer anderen Funktion, so bin ich irgendwie verwirrt hier.
EDIT: Ich sehe, dass eines der Text-Attribute null ist und diese Ausnahme verursacht; Danke für die Antworten bisher, sorry ich bin dumm. Wie kann ich das umgehen? Gibt es eine Möglichkeit, bei der Zuweisung auf null zu testen und stattdessen eine leere Zeichenfolge auszugeben? Vielleicht ein ternärer Operator?
EDIT 2: Dies ist übrigens eine schlechte Frage. Ich habe die Klasse gekürzt, um sie hier zu posten, und ein Element ausgeschlossen, das element.SelectedItem.Text verwendet. SelectedItem war der Nullwert und die Sache, die uns verwirrt hat - die Kommentatoren unten, die in Frage stellen, dass der Text einer TextBox Null ist, haben Recht, das ist nicht Null und sollte nicht Null sein, was Teil der Verwirrung war. Die null Sache war element.SelectedItem (die Testdaten haben keine ausgewählten Elemente). Entschuldigung für die Verwirrung und nochmals vielen Dank für die Hilfe.