1

リフレクションと遅延バインディングのどちらから見ても、VB.NETで何がより適切であるか、または何を使用することが推奨されているか。

'Type can be various objects that have a common property for sure.'
Dim type = sender.GetType()
Dim prop = type.GetProperty("Text", 20)
Dim value = property.GetValue(sender, Nothing)

対:

Dim value = sender.Text
4

3 に答える 3

1

カバーの下で、彼らは両方とも同じことをしています(比較的言えば)。VB.NETの遅延バインディング機能は、実行時にアセンブリメタデータクエリを介して実行されます。これはまさにリフレクションの目的です。

最初のアプローチの利点の1つは、エラーをよりきめ細かく処理できることです。

于 2010-01-10T23:10:54.127 に答える
0

遅延バインディングを使用する場合は、Option Explicit = Offを使用して、プロパティを部分クラスに抽出するメソッドを配置できます。そうすれば、コードの残りの部分でタイプチェックを行うことができます。

于 2010-01-11T02:18:26.047 に答える
0

send.Textは常に文字列ではありませんか?それで、値のタイプはコンパイル時に推測でき、後者を早期バインディングの例にしますか?

于 2010-01-10T23:14:09.803 に答える