Я попытался создать расширение для встроенного класса String с помощью C ++ / CLI и использовать его из C ++ / CLI безуспешно.
Вот самое простое, что я могу свести к следующему:
[System::Runtime::CompilerServices::Extension]
public ref class MyStringExtensions abstract sealed {
public:
[System::Runtime::CompilerServices::Extension]
static bool TestMethod(System::String^ str) { return false; }
};
Теперь, когда я пытаюсь использовать это в другом коде C ++ / CLI, я получаю сообщение компилятора, указывающее, что TestMethod не является методом String.
String^ foo = gcnew ...
...
blah = foo->TestMethod(); // compile-error
Есть идеи?