gpt4 book ai didi

c# - ASP.NET 中用户控件和页面的通用基类

转载 作者:太空狗 更新时间:2023-10-29 21:03:36 26 4
gpt4 key购买 nike

现在我的页面有一个基类继承System.Web.UI.Page和我的用户控件的另一个基类,它继承了 System.Web.UI.UserControl ,这些类包含相同的方法。由于 C# 不支持多重继承,因此我无法将这两个类合并为一个同时继承 Page 和 UserControl 的类。

保留两个基类中的功能但只在一个地方实现这些方法的最佳方法是什么?

我正在考虑制作一个接口(interface),让两个基类调用包含接口(interface)实现的第三个类。有没有更好的方法,这样当我添加一个新方法时,我不必在三个地方做(即使实现只在第三类)。

最佳答案

如果您使用的是 C# 3.0,您可以提供辅助方法作为 System.Web.UI.Control 类的扩展方法,其中 System.Web.UI.Page System.Web.UI.UserControl 类派生。

public static class ControlExtensions {
public static void DoSomething(this Control obj) {
// do something
}
}

PageUserControl 中:

this.DoSomething();

关于c# - ASP.NET 中用户控件和页面的通用基类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1450806/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com