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

2023-11-23

我遇到过几个 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);

这允许构建流畅的界面如下所述。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中静态方法的形参中使用“this”关键字 的相关文章

随机推荐