0
現在我「通過C#CLR」的書閱讀,而我感興趣的以下問題 - 是否可以通過屬性來改變類的結構是這樣的:是否可以通過屬性更改類的結構?
[UseFooAttr(true)]
class A
{
if (IsDefined(typeof(UseFooAttr)))
public Foo FooProperty{get; set}
};
但我不知道,這種方法有一些真正的好處。
現在我「通過C#CLR」的書閱讀,而我感興趣的以下問題 - 是否可以通過屬性來改變類的結構是這樣的:是否可以通過屬性更改類的結構?
[UseFooAttr(true)]
class A
{
if (IsDefined(typeof(UseFooAttr)))
public Foo FooProperty{get; set}
};
但我不知道,這種方法有一些真正的好處。
不,這是不可能的。但是你可能需要使用conditional compilation:
#define UseFooPropertery // define pre-processor symbol
class A
{
#if UseFooProperty // check if symbol is defined
public Foo FooProperty{get; set}
#endif
}
取而代之的是#if/#endif
預處理指令,你還可以使用Conditional
屬性:
#define UseFooPropertery // define pre-processor symbol
class A
{
[Conditional("UseFooPropertery")]
public Foo FooProperty{get; set}
}
你可能想define the symbol in your project settings代替推杆他們在你的代碼中。