[英]assign value to preprocessor directive
我不了解預處理器指令,或者它們不起作用。
我正在嘗試為多個框架編寫應用程序。 (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
....
代碼會少得多,我可以在文件頂部定義它。
還是使用預處理器矯正器根本不可能做到這一點?
這似乎對我有用(必須放在文件頂部):
#if (NETSTANDARD1_5 || NETSTANDARD1_6 || NETCOREAPP1_0)
#define NetCore
#endif
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.