2012-10-25 63 views
3

我注意到有一个Binder类位于.NET的System.Reflection命名空间中。我阅读了MSDN上的文档,但我仍然不是那么做,以及如何使用它。System.Reflection中的Binder类是什么?

我在谷歌上搜索过,但是绑定这个词被暗指“数据绑定”。通过绑定,它是否意味着“数据绑定”?如果是这样,那我该如何使用它进行数据绑定呢?我希望找到一个简单或易于理解的使用示例。

谢谢!

+2

我会坦率地说:我做了很多反思和约束性工作。我从来不需要做任何自定义绑定。我偶尔看到过它们,但从我所见过的情况来看,当更好的选择是让事情变得更简单时,它们通常会增加复杂性。 –

+0

通过绑定,你是指属性之间使用的数据绑定?或者在这种情况下是否有不同的绑定定义? – Carven

+2

它正在讨论*反射*绑定 - 不是真正的数据绑定(它在不同的命名空间中有一个单独的API);即如果使用传入“Binder”的'someType.GetMethod(...)'以及参数如何转换为方法参数,将选择哪种方法。很少有人需要任何不寻常的东西。 –

回答

5

Binder从候选人列表中选择一个成员,并执行从实际参数类型到正式参数类型(MSDN)的类型转换。

您也可以创建自己的活页夹。

从这个page

System.Reflection.Binder对象,它控制这样的事情类型强制和适当的重载的方法的选择还引述。在大多数情况下,您将能够传递null并使用默认联编程序。

+0

谢谢!但我仍然不明白如何使用它,以及在什么情况下使用它。 – Carven

+0

查看Binder方法的注释部分。例如'BindToMethod'(http://msdn.microsoft.com/zh-cn/library/system.reflection.binder.bindtomethod.aspx)。我从来没有用过...... –