我在C ++ CLI中的代码:
[System::Runtime::CompilerServices::ExtensionAttribute]
public ref class MyExtensions abstract sealed {
public:
[System::Runtime::CompilerServices::ExtensionAttribute]
static System::String^ SetC() {
return gcnew System::String("{") + gcnew System::String("}") ;
}
}
但是后面的行抛出一个错误,即String没有成员SetC。
System::String("").SetC();
我也试过使用以下代码:
gcnew System::String("")->SetC();
有什么遗漏?
答案 0 :(得分:9)
C ++ / CLI将允许您使用扩展方法,但您必须将其称为常规静态方法。有关示例,请参阅this answer,使用Linq的First()作为示例扩展方法进行调用。