首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >要求对C#中的属性进行空安全访问

问要求对C#中的属性进行空安全访问
EN

Stack Overflow用户
提问于 2016-02-05 17:19:49
回答 2查看 164关注 0票数 2

在C#中,有没有办法要求对属性的访问是空安全的?对于可能返回null的属性,如果在未测试null的情况下使用该属性,则出现编译时错误会更好。

EN

回答 2

Stack Overflow用户

发布于 2016-02-05 17:22:30

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

这段代码怎么样?你怎么知道someVariable没有在某个地方设置为null呢?也许甚至会有反射?

代码语言:javascript
复制
public string Property
{
    get { return someVariable; }
}

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

票数 1
EN

Stack Overflow用户

发布于 2016-02-05 18:06:04

空引用的发明者将其保留为"My Billion Dollar Mistake“!在absence of non-nullable reference types中,使用code contracts和visual studio add-in最小化空引用异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35220320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档