Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Lambda表达式引发System.MissingMemberException_.net_Vb.net_Lambda_Windows Phone 8.1 - Fatal编程技术网

.net Lambda表达式引发System.MissingMemberException

.net Lambda表达式引发System.MissingMemberException,.net,vb.net,lambda,windows-phone-8.1,.net,Vb.net,Lambda,Windows Phone 8.1,我在一个类中定义了一个lambda函数,该类在运行时抛出System.MissingMemberException Module Res Public Class LAMBDAS Public Shared add1 = Function(num As Integer) num + 1 End Class End Module 当一个学生从另一个班级打电话时 Private Async Sub Butto

我在一个类中定义了一个lambda函数,该类在运行时抛出System.MissingMemberException

Module Res         
    Public Class LAMBDAS            
        Public Shared add1 = Function(num As Integer) num + 1    
    End Class    
End Module
当一个学生从另一个班级打电话时

Private Async Sub Button_Click(sender As Object, e As RoutedEventArgs)
    Dim r = LAMBDAS.add1(12)
End Sub
它抛出异常

中发生“System.MissingMemberException”类型的异常 MICROSOFT.VISUALBASIC.NI.DLL,但未在用户代码中处理

其他信息:找不到类型的默认成员 'VB$AnonymousDelegate_1(整数的,整数的)''

但是,如果我将lambda包含在第二类中,它就可以正常工作

Dim add1 = Function(num As Integer) num + 1
Dim r = add1(12)

不可能在其他模块和类中添加lambda函数吗?

我知道这是一篇老文章,但我遇到了一个类似的问题,在修复它之前,我搔了一个小时左右的头

如果在调试器中检查add1的类型,您将看到它是一个对象而不是lambda函数,因此编译器会自动认为您正在尝试索引默认属性,而不是运行一段代码

要解决此问题,您可以执行以下操作:

Module Res         
    Public Class LAMBDAS            
        Public Shared add1 As Func(Of Integer) = Function(num As Integer) num + 1    
    End Class    
End Module

当您删除模块但保留LAMBDAS类时,它是否工作?