2016-07-25 19 views
2

C#にNullableアノテーションがありますか?開発者はC#およびnullableフラグ/注釈?

Object.getModel().someMethod() 

を呼び出そうとした場合のJava

​​

で例えば

は今、コンパイラは、彼らがnullをチェックされていないと彼らに警告します。

私はsomeObject?のようにC#でVAR名の末尾に?マークを認識してんだが、これで問題はVARSは、多くの場所で使用されているとき、それはトリッキー/迷惑/ JSONモデルにできることです。

+0

これを試してみてください、同じリクエストと同じようです。 [リンク](http://stackoverflow.com/questions/291340/mark-parameters-as-not-nullable-in-c-net) – Thennarasan

+0

[C#:NotNullとCanBeNull属性を実装して使用する方法] (http://stackoverflow.com/questions/792531/c-how-to-implement-and-use-a-notnull-and-canbenull-attribute) – user3185569

+0

このようなものがc# – Neel

答えて

7

C#はそのようなものを持っていない - このような特徴は、(まだ)言語の一部ではありません。 [CanBeNull][NotNull][ItemCanBeNull][ItemNotNull]:あなたはReSharperのを使用している場合

しかし、あなたはあなたのコードにいくつかの属性を追加することができ、そのValue and Nullability Analysis機能を利用することができます。プラグインによって実行されるNULL可能性分析では、これらの属性を考慮に入れて、コンパイル時の警告が表示されます。

+0

これでコンパイラは何をしますか? –

+0

まあ、私は、コンパイラが理論的には複雑な分析を行い、誰かがどこでnullをチェックしていないときに警告を発することができると思います。しかし、あなたは正しい、これはコンパイラよりも言語機能のほうが多い。私はこれを言い直します。 – pmbanka

関連する問題