C# 在c+中生成函数+;具有clr支持的项目可互操作
在我的C#项目中,我希望能够互操作clr项目中定义的函数。 我通常使用C# 在c+中生成函数+;具有clr支持的项目可互操作,c#,interop,c++-cli,clr,C#,Interop,C++ Cli,Clr,在我的C#项目中,我希望能够互操作clr项目中定义的函数。 我通常使用 __declspec( dllexport ) 在本地C++项目的函数定义中。如何使clr项目的函数可互操作?使ref类public和要调用的方法public。然后引用您的C#项目中的项目。这是可行的,但我不能这样做,因为clr项目使用该C#项目作为引用。因此,如果我这样做,它将导致循环依赖。所以我使用了互操作,因为它不需要我使用clr项目作为参考,从这个问题上看,这应该是显而易见的吗?显然,您必须将您的C#项目一分为二
__declspec( dllexport )
<>在本地C++项目的函数定义中。如何使clr项目的函数可互操作?使
ref
类public
和要调用的方法public
。然后引用您的C#项目中的项目。这是可行的,但我不能这样做,因为clr项目使用该C#项目作为引用。因此,如果我这样做,它将导致循环依赖。所以我使用了互操作,因为它不需要我使用clr项目作为参考,从这个问题上看,这应该是显而易见的吗?显然,您必须将您的C#项目一分为二,分离出您的C++/CLI项目需要的声明。或者将它们移动到C++/CLI项目,或者使用接口或委托,这些接口或委托允许C++/CLI代码符合C#中建立的签名,以便C#可以调用它。