加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c#中是否有属性属性的合并运算符?

发布时间:2020-12-15 06:22:22 所属栏目:百科 来源:网络整理
导读:那么合并运算符?允许方便地处理空对象(IE.MyDisplayString = MyString ??“n / a”;) 但是有一个很好的花哨的操作符来处理对象属性的类似情况吗?例如,假设您感兴趣的属性是属性的属性,如:MyDataObject.MySubModel.MyProperty 如果MyProperty为null,则需要
那么合并运算符?允许方便地处理空对象(IE.MyDisplayString = MyString ??“n / a”;)

但是有一个很好的花哨的操作符来处理对象属性的类似情况吗?例如,假设您感兴趣的属性是属性的属性,如:MyDataObject.MySubModel.MyProperty

如果MyProperty为null,则需要合并为“n / a”.您可以使用 ??这里,但是如果MyDataObject为null或MyDataObject.MySubModel怎么办?

在尝试获取元素的可选属性和元素时,这也会出现XML. IE:MyString = MyElement.Attribute(“MyOptionalAttribute”).值? “N / A”;如果属性不存在则失败.

处理这种情况有一种很好的方式吗?

解决方法

Is there a nice fancy way of handling
this scenario?

You are not the first one要求this feature.一种方法是编写a “With” extension method来获取属性值,因为扩展方法可以处理在空引用上调用.代替

thing.Foo.Bar

你会写的

thing.With(x => x.Foo).With(x => x.Bar)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读