我在某些母版页代码后面有以下代码行,但如果没有this,它就会失败。
这是为什么?
Repeater rep = this.FindControlsByIdRegEx("maintTableRepeater")[0] as Repeater;
这是在母版页Load事件中,扩展方法定义为;
public static List<Control> FindControlsByIdRegEx(this Control control, string idPattern)
最佳答案
扩展方法必须有一个“挂起”的实例。
不带对象的方法调用始终引用具有该签名的方法 - 在同一实例中。扩展方法不是实例的一部分。它们是存在于系统其他地方的静态方法,并使用一点编译器糖(实际上是一个技巧),看起来像是卡在对象上以便于编码。
关于.net - 为什么我需要这个。在母版页中使用扩展方法的限定符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1415828/