vb.net反射与后期绑定?

时间:2010-01-10 22:55:14

标签: vb.net reflection late-binding

从反射与后期绑定相比,什么应该更合适或建议在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

3 个答案:

答案 0 :(得分:1)

在封面下,他们都在做同样的事情(相对而言)。 VB.NET的后期绑定功能是在运行时通过程序集元数据查询完成的,这正是反射的全部内容。

您的第一种方法的好处之一是您有机会以更细粒度的方式处理错误。

答案 1 :(得分:0)

不是sender.Text总是一个字符串吗?那么可以在编译时推断出值的类型,使后者成为早期绑定的一个例子吗?

答案 2 :(得分:0)

如果使用后期绑定,则可以将提取属性的方法放入Option Explicit = Off的分部类中。这样,您仍然可以在其余代码中进行类型检查。