本来想着用一个抽象的用户控件类把公共功能提取出来,这样能方便使用继承于它的控件,但发觉继承控件是无法使用设计器的,可见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不能是抽象的,当然如果不需要设计器设计是没问题的
原文:http://wfy4422.blog.51cto.com/6049188/1685883