从C调用C#,反向P / Invoke,混合模式DLL和C/C++LI

据了解,我可以使用反向P / Invoke从C调用C#.反向P /调用只是一个例子:

>创建管理(c#)类.
>创建一个c / cli(以前管理的c)类库项目.使用它来调用受管理的c#类(大概通过引用).
>从本地c调用c / cli代码.

问题:

>这是正确的吗?
>在步骤2创建的DLL是否被称为混合模式DLL?
>有关C/C++LI是否完全取代管理C到MS?
COM完全避免使用这种方法吗?
> CLR在什么时候创建和运行,由谁?

提前致谢

以下是我最了解的答案:

>是的
>是的,它是一个混合模式的DLL(实际上,您可以使您的本机C项目的一个文件被管理并在该文件中创建此C/C++LI类,并直接从该文件调用代码,甚至不需要单独的DLL来实现这一点.
> C/C++LI和Managed C都表示相同的东西.唯一的区别是,在Visual Studio 2003的旧版本中,它被称为托管C.后来,语法发生了很大的变化,它被重命名为C/C++LI.看看this link的细节.
>是的
>每当对托管DLL进行调用时,将使用CLR.

翻译自:https://stackoverflow.com/questions/1068762/calling-c-sharp-from-c-reverse-p-invoke-mixed-mode-dlls-and-c-cli

转载注明原文:从C调用C#,反向P / Invoke,混合模式DLL和C/C++LI