设置属性时比较值成员
本文关键字:成员 比较 属性 设置 | 更新日期: 2023-09-27 18:25:06
我在C#中有一个自定义类的属性,我已经重写了它的setter。我想比较setter中自定义类中/的属性,如下所示:
public DatabaseInfo CurrentDatabaseManagedSelection
{
get { return CurrentDatabaseManaged; }
set {
if (String.Equals(value.Name, CurrentDatabaseManaged.Name,StringComparison.OrdinalIgnoreCase))
return;
CurrentDatabaseManaged = DatabaseManagement.ReadDatabase(value.FileName);
}
}
在DatabaseInfo类中,有一个名为Name的标准String属性。
然而,当我运行程序时,我会得到以下异常。有人能告诉我为什么会发生这种情况以及如何解决这个问题吗?
调用的目标引发了异常。
EDIT:我确实在视图模型的构造函数中设置了上面setter所针对的属性的值。我只是通过将CurrentDatabaseManagedSelection
设置为DatabaseInfo类的一个对象来实现这一点。
我想我可能发现了问题嗯,我解决了!
问题是CurrentDatabaseManaged
尚未初始化,因此在我尝试设置上述属性时等于null
。我通过添加一个try发现了这一点。。catch,并为CurrentDatabaseManaged.Name
创建了一个新的String——指向该行的堆栈跟踪。
希望这能在未来帮助其他人。