我将api中的一串字符串转换为类。我广泛使用编译器来帮助我,因为我可以替换核心API中的某些类型,并遵循类型错误。禁止字符串与对象连接
然而,有缺陷的这种方法令人沮丧的源:
// linqpad snippet
void Main()
{
var t = "yay : " + (new Foo());
t.Dump(); // "yay: namespace.Foo" instead of compilation error
}
class Foo {
}
C#将愉快地加在一起的字符串和任何用户定义的对象。有没有办法将它变成警告或编译错误?
我想要一个编译错误,因为这个数据最终会显示给用户。如果我错过了一个连接,用户会在应用程序中看到类名,这实际上并不是我想要的行为。
写愚蠢的代码没有任何警告! :) – DavidG 2014-12-03 09:25:43
为什么这必须是警告或错误? – Dennis 2014-12-03 09:28:09
@DavidG我处于重构状态。我有50多个班级一起交流。我想用由一个类表示的一些其他数据替换由字符串表示的一些数据。在使用字符串连接的类中,我想使用其他形式的组合。如果编译器不能帮助我,那意味着我可能会错过一些东西,并且用户会在应用程序中看到不相关的类名。 – Simon 2014-12-03 09:30:23