В C ++ / CLI ключевое слово literal
используется вместо static const
, где требуется, чтобы определение константы было включено в интерфейс, доступный для полностью управляемых приложений.
public:
literal String^ Foo = "foo";
К сожалению, literal
требует немедленного значения, поэтому использование значения std::string
невозможно. В качестве альтернативы вы можете создать статическое свойство только для чтения, которое возвращает строку.
public:
static property String^ Foo
{
String^ get()
{
return gcnew String(Foo::FOO.c_str());
}
}
Лично я считаю, что переписать строку снова и использовать literal
- лучший вариант. Однако, если вас очень беспокоит постоянное изменение (например, в более новой версии), свойство будет использовать версию FOO
в собственной библиотеке.