在C#中静态方法的形式参数中使用“ this”关键字

我遇到了如下几个C#代码实例:

public static int Foo(this MyClass arg)

this在这种情况下,我无法找到关键字含义的解释。有什么见解吗?

回答:

这是一种

。请参阅此处以获取解释。

扩展方法使开发人员可以向现有CLR类型的公共合同添加新方法,而不必对其进行子类化或重新编译原始类型。扩展方法有助于将当今在动态语言中流行的“鸭子键入”支持的灵活性与强类型语言的性能和编译时验证相结合。

扩展方法可实现各种有用的方案,并有助于实现真正强大的LINQ查询框架…。

这意味着你可以打电话

MyClass myClass = new MyClass();

int i = myClass.Foo();

而不是

MyClass myClass = new MyClass();

int i = Foo(myClass);

这样可以构建如下所述的流畅接口。

以上是 在C#中静态方法的形式参数中使用“ this”关键字 的全部内容, 来源链接: utcz.com/qa/400741.html

回到顶部