是否可以使用#if编译器指令来省略类的属性?
我有两个项目正在使用共享项目,我想在共享类中添加一些属性,我不希望其他人看到它。
我尝试在项目中添加条件编译符号,例如MYSYMBOL
然后在我的课堂上这样做:
#if MYSYMBOL
public string MySpecialProperty { get; set; }
#endif
它编译但是两个项目都看不到MySpecialProperty,显然我希望定义的MYSYMBOL项目能够访问这个属性......
答案 0 :(得分:0)
MYSYMBOL
才能使属性可见。因此,如果您有一个公共库项目,您可以在那里定义它。因此,无论您使用哪个消费项目,编译库都将始终包含该属性。
如果您想要不同的行为,则必须在两个使用项目中编译该类。您可以将相同的源文件添加到两个项目中,并使用不同的定义进行编译。