基于消费项目的类属性的条件编译

时间:2013-10-04 09:35:15

标签: c# c-preprocessor conditional-compilation

是否可以使用#if编译器指令来省略类的属性?

我有两个项目正在使用共享项目,我想在共享类中添加一些属性,我不希望其他人看到它。

我尝试在项目中添加条件编译符号,例如MYSYMBOL

然后在我的课堂上这样做:

#if MYSYMBOL

public string MySpecialProperty { get; set; }

#endif

它编译但是两个项目都看不到MySpecialProperty,显然我希望定义的MYSYMBOL项目能够访问这个属性......

1 个答案:

答案 0 :(得分:0)

必须在编译项目中定义

MYSYMBOL才能使属性可见。因此,如果您有一个公共库项目,您可以在那里定义它。因此,无论您使用哪个消费项目,编译库都将始终包含该属性。

如果您想要不同的行为,则必须在两个使用项目中编译该类。您可以将相同的源文件添加到两个项目中,并使用不同的定义进行编译。