基本用户控件BaseUserControl.cs
namespace BaseClass
{
public partial class BaseUserControl : UserControl
{
protected ResourceManager _translator = null;
public BaseUserControl()
{
InitializeComponent();
InitTranslation();
}
#if DEBUG
/// <summary>
/// Initialize translation component (ResourceManager)
/// </summary>
protected virtual void InitTranslation()
{
throw new NotImplementedException();
}
#else
public abstract void InitTranslation();
#endif
}
}
基本用户控制的实现
namespace BaseClass
{
public class Implemented : BaseUserControl
{
public Implemented() : base()
{
}
protected virtual override void InitTranslation()
{
_translator = null; //null only for int this example otherwise initialize
}
}
}
问题是,如果您尝试在设计器中打开Implemented类,则会出现错误“方法或操作未实现”。并防止这种情况发生。
这个想法是强制在继承的类中实现InitTraslation()。
堆栈信息:
在C:\ Users \ XXX \ Documents \ Visual Studio 2010 \ Projects \ BaseClass \ BaseClass \ BaseUserControl.cs中的BaseClass.BaseUserControl.InitTranslation():第55行 在C:\ Users \ XXX \ Documents \ Visual Studio 2010 \ Projects \ BaseClass \ BaseClass \ BaseUserControl.cs中的BaseClass.BaseUserControl..ctor():第22行