我对 C# 和一般编程不是很有经验,但我认为必须有一些东西可以避免写这样的东西:
if (item.Graf != null)
{
item.Graf.IsVisible = true;
}
if (item.GrafReal != null)
{
item.GrafReal.IsVisible = true;
}
if (item.GrafIm != null)
{
item.GrafIm.IsVisible = true;
}
等等。我知道有一种叫做惰性初始化的东西,但我真的不需要创建一个新项目,只需检查它是否存在,以更改其属性 IsVisible
。如果我不检查它是否存在(并且它不存在),我会得到一个 Null Reference Expectation
。
最佳答案
您可以引入匿名(或命名)方法,但我不会说它会改进代码(很多),这取决于您拥有的此类元素的数量:
Action<GrafBase> setVisibleIfNotNull = delegate(GrafBase graf)
{
if (graf != null)
graf.IsVisible = true;
};
setVisibleIfNotNull(item.Graf);
setVisibleIfNotNull(item.GrafReal);
setVisibleIfNotNull(item.GrafIm);
关于c# - 如果某事是无效的,如何缩短,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17210463/