![]() |
1
2
有一些方法可以避免在代码中直接将属性名用作字符串。我发布了一个代码片段 here . 然后,不要使用switch语句,而是实现如下内容:
调用这两个方法时,请确保使用代码段的成员类(请参见链接),而不是直接使用属性名。因此,您可以确保您的代码是可重构的,因为它不包含任何“魔力字符串”。 最好的问候 |
![]() |
2
2
在IL中,switch语句编译如下:
编写能够在所有情况下正确分析这一点的代码将是相当大的工作量。 我能看到的测试这一点的唯一方法是实际覆盖所有情况,并确保最终不会得到空的propertyinfo。如果您正在使用的代码非常重要并且不会失败,那么在任何情况下使用反射可能都非常危险。你能改成更安全的设计吗? |
![]() |
3
1
在一个开关中获取值并不是一件小事…
如果在开关中使用枚举而不是字符串,则可以使用
|
![]() |
4
0
用awk或perl或其他任何语言编写一个脚本来检查源代码本身,并在每次构建之前运行它。 |