0
要麼我不理解預處理器指令,要麼他們不工作。將值分配給預處理器指令
我想爲多個框架編寫一個應用程序。 (DNX451,DNX46,NETSTANDARD1_5,...)
所以我一直有寫類似(真正簡單的例子,我知道我不需要在這裏)
public class Test
{
#if !(NETSTANDARD1_5 || NETSTANDARD1_6 || NETCOREAPP1_0)
public int? testVar;
#else
public int testVar;
#endif
public string Method()
{
#if !(NETSTANDARD1_5 || NETSTANDARD1_6 || NETCOREAPP1_0)
return (testVar ?? 0).ToString();
#else
return testVar.ToString();
#endif
}
}
那麼,有沒有可能性定義一個變量?在每個文件至少,這樣我就可以說,例如爲:
#define NetCore (NETSTANDARD1_5 || NETSTANDARD1_6 || NETCOREAPP1_0)
所以我只需要編寫
public class Test
{
#if !NetCore
public int? testVar;
#else
public int testVar;
#endif
....
會少得多的代碼,我可以把它定義在我的文件上。或者這對預處理器的改變是不可能的?
會增加一個條件到'.csproj'是你的選擇嗎? – Caramiriel
@ Caramiriel嗯,如果真的沒有可能在代碼中定義它,將是一個選項。 –