为什么我需要这个。限定符在母版页中使用扩展方法?
-
06-07-2019 - |
题
我在后面的一些母版页代码中有以下代码行,但如果没有这就失败了。
为什么会这样?
Repeater rep = this.FindControlsByIdRegEx("maintTableRepeater")[0] as Repeater;
这是在主页面Load事件中,扩展方法定义为;
public static List<Control> FindControlsByIdRegEx(this Control control, string idPattern)
解决方案
扩展方法必须有一个实例“悬挂”。
没有对象的方法调用总是引用具有该签名的方法 - 在同一实例中。扩展方法不是实例的一部分。它们是静态方法,它们存在于系统的其他地方,并使用一些编译器糖 - 真的是一个技巧 - 看起来像是为了便于编码而挂在对象上。
不隶属于 StackOverflow