2009-03-11 8 views
17

コードを1行だけオフにする方法はありますか?VB.NETオプションを強制的にオフラインでオフにする

私はいくつかのメンテナンス作業を行っていますが、私はちょうど1つの場所で "チート"する必要があり、ファイル全体の標準を下げたくありません。

+0

なぜあなたは、あなたが「カンニング」する必要があると思いますか?非厳密モードで可能なキャストは、厳密モードでも実行できます。コンパイラは非厳密モードでコードを作成するだけです。 – Guffa

+2

@ Guffa:COMオブジェクトへのレイトバインドはどうですか?単純な '[nostrict] someComObject.someMethod'は、リフレクションを使うよりも読みやすくなります。 (そして、はい、interop DLLの作成よりも後でバインディングが適切な場合があります) – Heinzi

答えて

16

悲しいことに、それは、ファイル内のコードの一行は可能ではありません。 MSDN docsを参照してください。

一方、コードの1行を別の関数にして、それを部分的なクラス属性を持つ新しいファイルに置き、その1つのファイルにOption Strict Offを置くこともできます。とにかくILコンパイラはあなたの関数をインライン展開するでしょうから、それと同じように速度が速くなりますが、実用的な観点からは醜いでしょう。

+0

ありがとうマイク。それはまさに私がやったことです。はい、それは醜いですが、安定しています。 – Jeff

4

モジュールの宣言セクションに記述する必要があるため、コードの途中でoption strictを使用することはできません。しかし、これはモジュールごとに行うことができ、少し助けになるかもしれません。

「Visual Basic 2005 in a Nutshell」には、別の方法をオンまたはオフにする方法があるとの記載はありません。

-2

カップル他のアイデア:

  • はあなたが主にオフにそれをコーディングし、厳格なそのオプションがあるので、あなたのコードの残りの部分は
  • を遵守してくださいあなたがそれを設定することもでき作ることになりましたし、それをオンにできリリースビルドではオン、デバッグビルドではOFF。
+2

Joel:-1)a)この例では助けにならないし、b)恐ろしい悪い考えです。これは、リリースビルドで最適化を有効にすることと全く同じことではありません。 –

関連する問題