![]() |
1
3
消除开关需求的一种方法是使用某种字典来保存委托,这些委托决定了对于每种可能的类型,什么构成null。尽管我认为你必须坚持这个目标。所以你会有一本字典,把它设置成:
你的支票是这样的:
不过,正如其他人所建议的那样,将代码更改为使用可空类型会更好。 |
![]() |
2
1
你总是可以的
您可以创建一个validate参数方法,该方法反映并提取参数的类型类型,并检查是否针对该类型设置了空值。 有点像
这会压缩类型验证和所有重载,并且也不需要泛型方法。 |
![]() |
3
0
方法定义的“多重签名”方法非常好——正是它给了我们多态性。就我个人而言,我宁愿保留这种技术,而不是像你建议的那样重构。 但是,我 将 do是用对“master”方法的调用替换除one之外的所有方法体的重复,从而强制转换参数:
前提是
|
![]() |
4
0
我认为可以使用可空类型,而不是bool isNullable。
可能会用这个签名来称呼它。 就像 SetParameter(param,空) 设置参数(参数,5) |
![]() |
5
0
用switch/if语句很难“移除”问题,如果最后有人不得不这么做。 您可以选择重写/封装对象或类的空值,但仍然需要检查每个概念中的空值。 我不知道这是否会让事情变得更好,但是您可以首先通过创建前面所说的方法来隔离重复,或者只隔离空值检查。最后一个是我所做的:
这里的工作是创建一个
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 5 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |