を割り当てるには三項演算子を使用することはできません私は、次のコードを入力:は、LINQの式
Expression<Func<ContentItem, bool>> expression =
fileTypeGroupID.HasValue ? n => n.Document.MimeType.FileTypeGroupID == fileTypeGroupID.Value : n => true;
Visual Studioは、それがn
の種類を推測することはできませんと言っています。
コードは私にとってうまく思えます - Expression
変数に2つのExpression
リテラルのうちの1つを割り当てるために3進演算子を使用しています。
Visual Studioは、3進演算子の内部でn
のタイプを推測するだけのスマートではありませんか、何か間違いを犯しましたか?
なぜ 'n'に型('(ContentItem n)=> ... ')を与えた方が良いのですか? – Gabe
これまでの詳細な対応に感謝します。 – David
'(Expression>)(n => true)'という方法で各ラムダを明示的にキャストすると、問題は解決しましたが、コードはリファクタリングを必要とするほど醜いです! –
David