Is it possible to share an enum declaration between C# and unmanaged C++?

后端 未结 5 1573
遥遥无期
遥遥无期 2020-12-05 07:39

Is there a way to share an enum definition between native (unmanaged) C++ and (managed) C#?

I have the following enum used in completely unmanaged code:



        
5条回答
  •  没有蜡笔的小新
    2020-12-05 08:21

    Thanks for sharing!

    I played around a bit and found a way to have multiple enum and constant declarations without having tons of extra lines :)

    // This is a valid C, C++ and C# file :)
    #if __LINE__
    #define public
    #else
    namespace MyCSharpNamespace{
    #endif
    
        public enum MyConstant { MaxStr = 256 };
        public enum MyEnum1{ MyEnum1_A, MyEnum1_B };
        public enum MyEnum2{ MyEnum2_A, MyEnum2_B };
    
    #if __LINE__
    #undef public
    #else
    }
    #endif
    

    Remember to name your file *.cs

提交回复
热议问题