提问人:Ben 提问时间:7/22/2023 更新时间:7/22/2023 访问量:34
C#如何在函数定义中解释这个“this”?[复制]
C# how to interpret this `this` in function definition? [duplicate]
问:
我想我从来没有仔细看过我之前添加的代码。有人可以帮忙详细说明这个函数的签名吗?它来自 .net 3.5 代码,没有默认参数支持。但这的行为就像默认参数一样。该函数的工作方式与 .this
GetFocusedControl(Form parentForm=this)
public static Control GetFocusedControl( this Form parent_form)
{
...
}
答:
0赞
Olivier Jacot-Descombes
7/22/2023
#1
这是一个扩展方法,必须放在静态类中。假设此扩展方法的命名空间是“可见的”,并且您有一个表单,则可以使用以下命令调用此方法:
Form frm = new Myform();
Control control = frm.GetFocusedControl();
就好像此方法是窗体本身的成员一样。
另请参阅:
评论
1赞
CodeCaster
7/22/2023
你确定你找不到解释这一点的副本吗?
评论
GetFocusedControl
是类的扩展方法;因此,您可以像声明为方法一样使用它:Form
GetFocusedControl
Form
MyForm myForm = new MyForm(); ... var ctrl = myForm.GeFocusedControl(); ...