为什么我使用反射将_Lambda $ __ 2作为方法名称

时间:2011-09-29 14:42:28

标签: .net reflection

我使用反射来获取函数的名称。一切都很好,现在我没有获取函数名称(例如SendEmail),而是将 Lambda $ _2作为函数名称。

在代码中似乎没有任何改变会改变这一点。 我在项目的其他地方有相同的行为,但仍然可以正常工作。

我的代码:

Private _sendEmailDel As Zeta.Bol.SendEmailDel (this is a delegate sub)

_sendEmailDel = AddressOf Zeta.Bol.SendEmail

dim methName as string = _sendEmailDel.Method.Name

Zeta.Bol.SendEmail是正常函数(不涉及lambda)。

1 个答案:

答案 0 :(得分:4)

那是因为你试图得到代表的名字,而不是原来的功能。由于您匿名声明了委托,因此编译器会为其生成自动名称。