SA1125:SA1125:なぜ "int?" "Nullable <int>"ではなく "typeof()"内ではありませんか?
がNULL可能タイプの速記なく
typeof()
内部以外Nullable<T>
の使用を強制:UseShorthandForNullableTypesは(StyleCop 4.7設定エディタアプリケーションから引用)この記述を有します。
typeof()
の例外はありますか? typeof(int?)
はちゃんとコンパイルされます。これはStyleCopの作者の好みなのでしょうか、それとも深い推論ですか?
編集は:
var x = new Nullable<int>();
var y = new int?();
var z = typeof(Nullable<int>);
var v = typeof(int?);
結果:最初の行のみがSA1125の警告を上げる公式ドキュメントはこの例外に言及していないので、私は次のコードをテストしました。
編集2:(私はこのルールの開発者ではないんだと)私は実際に、私はそれは、このための警告を生成しないためにこのように設計されて疑う理由は分からないもののThe work item for StyleCop asking to fix this behavior
あなたが引用されている説明を見つけるのですか?確かにあなたが提供したリンクではなく、[公式文書](http://www.stylecop.com/docs/SA1125)にも記載されていません。html) –
おそらく、バグや欠落した要件を示唆しています。 ReSharperは、 'nullofable'を 'int 'として' typeof() 'に書き直すように促します。 –
StyleCop設定エディタツールで説明が見つかりました。今、問題の質問、それは正確であればある... –