从反射与后期绑定相比,什么应该更合适或建议在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
答案 0 :(得分:1)
在封面下,他们都在做同样的事情(相对而言)。 VB.NET的后期绑定功能是在运行时通过程序集元数据查询完成的,这正是反射的全部内容。
您的第一种方法的好处之一是您有机会以更细粒度的方式处理错误。
答案 1 :(得分:0)
不是sender.Text总是一个字符串吗?那么可以在编译时推断出值的类型,使后者成为早期绑定的一个例子吗?
答案 2 :(得分:0)
如果使用后期绑定,则可以将提取属性的方法放入Option Explicit = Off的分部类中。这样,您仍然可以在其余代码中进行类型检查。