互操作DLL在其他.NET语言可见时不显示事件

互操作DLL在其他.NET语言可见时不显示事件,.net,f#,.net,F#,我已经生成了一个互操作DLL。很好。但奇怪的是,在C中可见的事件在F中不可见。幸运的是,添加/删除函数存在于DLL中,用于添加/删除我的处理程序。所以有一个解决办法 我不明白的是,为什么我不能看到实际的事件参数本身,因为它们是接口的一部分。在生成互操作以便在F#中使用时,是否必须执行任何特殊操作?在F#中查看时,事件的访问修饰符似乎是私有的或受保护的,但在C#如果您正在使用客户端配置文件,请切换到项目属性中的完整.Net 4.0配置文件,然后重试。在VS2010中,这是默认设置,它吸引了很多人

我已经生成了一个互操作DLL。很好。但奇怪的是,在C中可见的事件在F中不可见。幸运的是,添加/删除函数存在于DLL中,用于添加/删除我的处理程序。所以有一个解决办法


我不明白的是,为什么我不能看到实际的事件参数本身,因为它们是接口的一部分。在生成互操作以便在F#中使用时,是否必须执行任何特殊操作?在F#中查看时,事件的访问修饰符似乎是私有的或受保护的,但在C#

如果您正在使用客户端配置文件,请切换到项目属性中的完整.Net 4.0配置文件,然后重试。在VS2010中,这是默认设置,它吸引了很多人

另一种可能性是,这是一种非标准的事件实现,我昨天在MonoTouch中遇到了这种情况


如果失败,我将使用reflector或类似工具查看dll,看看生成的代码是什么。

如果您正在使用客户端配置文件,请切换到project properties中的完整.Net 4.0配置文件,然后重试。在VS2010中,这是默认设置,它吸引了很多人

另一种可能性是,这是一种非标准的事件实现,我昨天在MonoTouch中遇到了这种情况


如果没有这些,我将使用reflector或类似工具查看dll,看看生成的代码是什么。语法:我甚至看不到事件,即
事件单击
是在界面中定义的,在C中可见,但在F中不可见添加()是F#语法所必需的:我甚至看不到事件,即
事件单击
在界面中定义,该界面在C#中可见,但在F#中不可见#