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

前端之家收集整理的这篇文章主要介绍了c#中是否有属性属性的合并运算符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
那么合并运算符?允许方便地处理空对象(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)

猜你在找的C#相关文章