VS 2010 IDE が、ユーザー定義の列挙型を受け取るメソッド パラメーターを介して Nothing を渡そうとしているのに吠えていないことに、本当に悩まされています。代わりに、メソッドに 0 を渡しています。c# はこれを許可しません。option strict
IDEがこれらのタイプの暗黙的な変換を許可しないように追加できるモジュールレベルの修飾子はありますか?
質問する
2803 次
2 に答える
8
悲しいことに、いいえ。
ただし、スキップ中に列挙メンバーに値を割り当てることができます0
(または、名前付きのプレースホルダーなどを使用しますNone
)。少なくとも実行時にこのケースを処理します。
Sub Main
MyMethod(Nothing) ' throws Exception
End Sub
Sub MyMethod(e as MyEnum)
If e = 0 Then
Throw New Exception
End If
End Sub
Enum MyEnum
a=1
b=2
c=3
End Enum
于 2012-08-01T11:36:10.157 に答える
3
C# 言語のデフォルトに相当するものはありません。いいえ。
あなたのプログラミングスタイルを再考してください。基本的にはジェネリック コードでのみ、 C# でデフォルトを使用するのと同じ場所です。VB.NET は、C# のように変数の初期化を要求しません。参照型の変数は、自動的に Nothing に初期化されます。おそらく C# プログラマーにはうんざりですが、VB.NET コードでは完全に慣用的です。
于 2012-08-01T11:48:10.497 に答える