プリプロセッサディレクティブが理解できなかったか、動作していません。プリプロセッサディレクティブへの値の割り当て
私は複数のフレームワーク用のアプリケーションを作成しようとしています。 (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ええと、実際にコード内に定義する可能性がない場合は、オプションになります。 –