我在后面的一些母版页代码中有以下代码行,但如果没有这就失败了。为什么会这样?

Repeater rep = this.FindControlsByIdRegEx("maintTableRepeater")[0] as Repeater;

这是在主页面Load事件中,扩展方法定义为;

        public static List<Control> FindControlsByIdRegEx(this Control control, string idPattern)
有帮助吗?

解决方案

扩展方法必须有一个实例“悬挂”。

没有对象的方法调用总是引用具有该签名的方法 - 在同一实例中。扩展方法不是实例的一部分。它们是静态方法,它们存在于系统的其他地方,并使用一些编译器糖 - 真的是一个技巧 - 看起来像是为了便于编码而挂在对象上。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top