1
3
消除开关需求的一种方法是使用某种字典来保存委托,这些委托决定了对于每种可能的类型,什么构成null。尽管我认为你必须坚持这个目标。所以你会有一本字典,把它设置成:
你的支票是这样的:
不过,正如其他人所建议的那样,将代码更改为使用可空类型会更好。 |
2
1
你总是可以的
您可以创建一个validate参数方法,该方法反映并提取参数的类型类型,并检查是否针对该类型设置了空值。 有点像
这会压缩类型验证和所有重载,并且也不需要泛型方法。 |
3
0
方法定义的“多重签名”方法非常好——正是它给了我们多态性。就我个人而言,我宁愿保留这种技术,而不是像你建议的那样重构。 但是,我 将 do是用对“master”方法的调用替换除one之外的所有方法体的重复,从而强制转换参数:
前提是
|
4
0
我认为可以使用可空类型,而不是bool isNullable。
可能会用这个签名来称呼它。 就像 SetParameter(param,空) 设置参数(参数,5) |
5
0
用switch/if语句很难“移除”问题,如果最后有人不得不这么做。 您可以选择重写/封装对象或类的空值,但仍然需要检查每个概念中的空值。 我不知道这是否会让事情变得更好,但是您可以首先通过创建前面所说的方法来隔离重复,或者只隔离空值检查。最后一个是我所做的:
这里的工作是创建一个
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |