21

プロジェクトで Option Infer を使用するためのベスト プラクティスは何だと思いますか?

Visual Studio 2008 では、Option Infer は、宣言された変数に割り当てられているものを見て、コンパイラがその変数のデータ型を推測できるようにするディレクティブです。

これは VS2008 の重要な機能であり、LINQ ステートメントとクエリで広く使用されています。ただし、Option Infer をオンにすると、将来の保守プログラマーにとって落とし穴が生じる可能性があります。

4

5 に答える 5

9

これが私の推奨事項です:

すでに Option Explicit On と Option Strict On を設定している場合 (どのレベルでも)

  1. IDE とプロジェクトのプロパティで Option Infer をオフにする
  2. 必要に応じて、コード ファイルで Option Infer をオンにします。これにより、コードが読みやすくなり、コードがオンになっている場合は、その使用に注意するよう読者に警告し、変数の上にカーソルを置いてその型を確認するように促します。

Option Explicit がオフの場合...

Option Infer をオンにすると、変数が遅延バインドされるのではなく、コンパイラがコンパイル時に変数に型を割り当てるため、バリアントでいっぱいの古い VB6 コードをより適切にコンパイルおよび実行できます。ただし、変数がライフサイクル中に複数の型を格納しないようにテストを行う必要があります。

注: これは、ドット NET に移植された VB6 コードの適切なリファクタリングに代わるものではありません。バリアントは悪いです、子供たち、ええと?

于 2009-03-20T20:57:47.927 に答える
4

私が目にするほとんどのエラーは Strict と Explicit に関係していますが、Infer で発生するものもあります。VB の場合、この Option Strict On : Option Explicit On : Option Infer Off が開始するのに最適な場所だと思います。For Next を書くのが少し面倒になりますが、それはあなたの意図に疑いの余地がないことを意味します。

于 2009-03-21T13:14:18.703 に答える
2

VB.Net の型推論は、部分信頼環境の aspx ページでは使用できません ...... よくあることですが、VB.Net のデフォルト オプションは私たちの生活を困難にします。VB9 では、便利な Option Infer がデフォルトでオフになっています。Option Infer On を記述できません... ページの上部に <%@Page ... infer="true"%> を記述できません... web.config に記述できません... 誰かが VB を忘れてしまった。ネット。

……

ここを参照してください: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=321981

于 2010-01-20T07:16:36.713 に答える