This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center。
已关闭8年。
因此,我正在从XML读取文件,并且使用Debug-Output可以很好地工作。
我的问题是
不会执行任何操作,因此第二个Debug仅打印“n”,而没有其他任何内容,而第一个Debug则正确打印了
我怎么了
编辑:
抱歉,NoteTitle的实现:
这可以解释为什么设置
已关闭8年。
因此,我正在从XML读取文件,并且使用Debug-Output可以很好地工作。
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.Name == "Note")
{
Note n = new Note();
reader.ReadToFollowing("NoteTitle");
string s = reader.ReadElementContentAsString();
n.NoteTitle = s;
Debug.WriteLine("s " + s);
Debug.WriteLine("n " + n.NoteTitle);
}
}
我的问题是
n.NoteTitle = s;
不会执行任何操作,因此第二个Debug仅打印“n”,而没有其他任何内容,而第一个Debug则正确打印了
"s Notetitle1"
。我怎么了
编辑:
抱歉,NoteTitle的实现:
private string _noteTitle = string.Empty;
public string NoteTitle
{
get { return this._noteTitle; }
set { RaisePropertyChanged("NoteTitle"); }
}
最佳答案
在查看NoteTitle
setter的实现时,您忘记设置私有(private)字段的值,即
private string _noteTitle = string.Empty;
public string NoteTitle
{
get { return this._noteTitle; }
set
{
this._noteTitle = value; // set the field value
RaisePropertyChanged("NoteTitle");
}
}
这可以解释为什么设置
NoteTitle
属性时不保留任何值。关于c# - 变量未保存在对象中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14217391/
10-09 07:21