C++ で名前空間付きのコンパイル時定数文字列を公開するには、さまざまな方法があります。
C++ で次のように参照できるように、SWIG を介して C++ と C# の間で共有したいこれらがたくさんあります。
Foo::Bar::SomeConstant
C# では次のようになります。
Foo.Bar.SomeConstant
const char*
C++ 側がまたはであるかどうかはあまり気にしませんがstd::string
、衝突を避けるために名前空間が必要です。
これをヘッダーファイルにぶつけたいだけです:
namespace Foo
{
namespace Bar
{
const char* const SomeConstant = "hello world";
}
}
しかし、SWIG を使用してその C# 側でボールをプレーすることはできないようです。これを達成するための最良の方法は何ですか?