在C#中,有一种方法可以要求对属性的访问必须是null安全的。对于可能返回null的属性,如果在未测试null的情况下使用该属性,则可能会出现编译时错误。

最佳答案

不,那是不可能的。如果类型为可为空,则在编译时无法进行此类检查。编译器无法确定在编译时获取的值不为null。

这段代码呢?您怎么知道someVariable未被设置为null?也许甚至可以反射?

public string Property
{
    get { return someVariable; }
}


您应该做的是确保该属性永远不为null或作为使用者使用,以正确处理这些情况。

07-24 09:44
查看更多