是否可以在C#项目中嵌入C代码?

Jon*_*han 7 c c# embed visual-studio-2008

我知道可以将我的C代码编译成dll,然后使用P/Invoke来调用该代码.

我想知道是否有可能在我的代码中直接嵌入一大块C代码,也许只有一个类可用...

像这样(非工作)的例子:

public class MyClass {
    extern "C" {
        int do_something_in_c(int i) {
            return i*2;
        }
    }

    public int DoSomething(int value) {
        return do_something_in_c(value);
    }
}
Run Code Online (Sandbox Code Playgroud)

我一直在尝试使用Visual Studio 2008几个小时,但我没有到达任何地方,我怀疑它实际上是不可能的.任何人都可以确认或否认这个吗?

谢谢.

Ste*_*nis 8

可以创建混合模式程序集(即具有托管代码和本机代码的程序集),但只有C++/CLI编译器才能生成其中一个.C#编译器不支持您要做的事情.