遅延バインディング対vb.net反射?
-
19-09-2019 - |
質問
遅延バインディング対のいずれかの反射から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
解決
カバーの下に、彼らは両方の(相対的に言って)同じことをやっています。 VB.NETの遅延バインディング機能は反射がすべてに約あるかを正確にある実行時にアセンブリメタデータのクエリを介して行われます。
あなたの最初のアプローチへの利点の一つは、あなたがより細かく粒方法でエラーを処理する機会を持っているということです。
他のヒント
しかし常に文字列をsender.Textていませんか?だから、値の型は、事前バインディングの後者の例を作り、コンパイル時に推測することができますか?
あなたが遅延バインディングを使用しなければ、あなたは消灯=明示的なオプションで部分クラスにプロパティを抽出する方法を置くことができます。そうすれば、あなたはまだあなたのコードの残りの部分に型チェックを持ちます。
所属していません StackOverflow