1

我在 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();

有什么遗漏吗?

4

1 回答 1

10

C++/CLI 将允许您使用扩展方法,但您必须将其作为常规静态方法调用。有关一些示例,请参阅此答案,使用 Linq 的 First() 作为示例扩展方法来调用。

于 2013-03-14T20:47:13.410 回答