c# - 何时使用 this 关键字作为函数参数

标签 c# .net syntax extension-methods

<分区>

Possible Duplicate:
What does “this” mean in a static method declaration?

我浏览了一个代码片段,发现这个关键字被用作函数参数。 代码片段就像

public static void AddCell(this Table table, object cell) 

为什么 AddCell 有 this 关键字他们可以这样写 AddCell(Table table, object cell)

请用小代码示例解释何时使用此关键字作为函数参数的情况,这样我可以更好地理解。谢谢。

最佳答案

基本上,您的示例中定义的是扩展方法。在静态方法中,如果您使用 this 关键字定义第一个参数,则您允许在第一个参数上定义的类型的实例对象上调用该方法。

在您声明的示例中,您可以执行以下操作:

Table someTableInstance; /// must be instanciated somehow;
someTableInstance.AddCell(cell); // Call the AddCell method as if it was an instance method.

希望对你有帮助 问候, 布鲁诺

关于c# - 何时使用 this 关键字作为函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5500197/

相关文章:

c# - 在 wp8.1 rt 中播放来自应用程序的通知音

c# - 如何在 MVC View 中显示外键值

c++ - int(int, int) 样式模板函数类型语法

php - 将 PHP 代码放入字符串中

c# - 检查 TextBox 输入是否为十进制数 - C#

c# - 从 WPF/XBAP 应用程序检测网络连接?

c# - 为什么\b 不匹配使用 .net 正则表达式的单词

c# - OAuth 简单服务提供者

c# - 为什么要从 Windows Phone 中删除 [Serializable] 属性?

c++ - Bada IDE 是否有代码补全和有意义的错误信息?