コンストラクター内に記述しようとした次のコードを見てください。
private Predicate<string> _isValid;
//...
Predicate<string> isValid = //...;
this._isValid = isValid ?? s => true;
コードはコンパイルされません-「無効な表現用語」などです。
対照的に、それはコンパイルされ、私はそれを使用することができます:
this._isValid = isValid ?? new Predicate<string>(s => true);
しかし、なぜこの構文が許可されていないのか疑問に思っています。
何か案は?