c# – 使用嵌套属性忽略“对象引用未设置为对象实例”错误的最佳方法是什么?

我遇到了很多我希望展示的东西

@ev.Event.Instructor.Name

但是讲师属性可以为null.在这些情况下,“对象引用未设置为对象的实例”.错误被抛出,但我想忽略它并且没有任何返回..

是否有更好的方法来处理这个问题,而不是在整个地方创建大量的三元表达式来检查null?

等效的php表达式将是

@$ev.Event.Instructor.Name

我一直在将一些webforms视图转换为MVC,等效的Eval语句将忽略空引用错误.

澄清:
@ev属性来自linq查询,也有我的情况

@ev.mainContact.FirstName @ev.mainContact.LastName
@ev.mainContact.Company.Name

不仅mainContact可以为null,而mainContact的公司也可以为null.使用三元检查null来选择每个属性似乎是一个同样糟糕的解决方案.

最佳答案
一种方法是向Event添加另一个属性:

public string InstructorName
{
    get { return Instructor == null ? string.Empty : Instructor.Name; }
}

转载注明原文:c# – 使用嵌套属性忽略“对象引用未设置为对象实例”错误的最佳方法是什么? - 代码日志