继承于抽象类的控件不能使用设计器
更新:HHH   时间:2023-1-7


本来想着用一个抽象的用户控件类把公共功能提取出来,这样能方便使用继承于它的控件,但发觉继承控件是无法使用设计器的,可见VS设计器会对控件进行构造,而抽象类是无法实例化的。原来的基类设计以下:

 public partial class OneDataBaseUC : UserControl
    {
        public OneDataBaseUC()
        {
            InitializeComponent();
        }
        public abstract bool CanEdit { get; set; }
        public abstract void Init();
        public abstract void SaveValue(string outKeyID);
        public abstract void DeleteValue(string outKeyID);
        public abstract void ClearControlValue();
        public abstract string ModuleName { get; set; }
        public abstract void ShowValue(string outKeyID);
    }

继承控件如下

 public partial class BasicUserRolesUC : OneDataBaseUC

    {

        public BasicUserRolesUC()

        {

            InitializeComponent();

        }

    }

结果设计器打开BasicUserRolesUC会报错,可见OneDataBaseUC不能是抽象的,当然如果不需要设计器设计是没问题的

返回编程语言教程...