Базовый пользовательский элемент управления 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
}
}
}
Проблема в том, что при попытке открыть реализованный класс в конструкторе выдает ошибку «Метод или операция не реализованы». и предотвращая это.
Идея заключалась в том, чтобы принудительно реализовать InitTraslation () в унаследованном классе.
Информация о стеке:
в BaseClass.BaseUserControl.InitTranslation () в C: \ Users \ XXX \ Documents \ Visual Studio 2010 \ Projects \ BaseClass \ BaseClass \ BaseUserControl.cs: строка 55
в BaseClass.BaseUserControl..ctor () в C: \ Users \ XXX \ Documents \ Visual Studio 2010 \ Projects \ BaseClass \ BaseClass \ BaseUserControl.cs: строка 22 * 1015 *