abstract class CustomControl : UserControl
{
protected abstract int DoStuff();
}
class DetailControl : CustomControl
{
protected override int DoStuff()
{
// do stuff
return result;
}
}
Я сбросил DetailControl в форму. Он отображается правильно во время выполнения, но дизайнер отображает ошибку и не открывается, потому что базовый пользовательский элемент управления является абстрактным.
На данный момент я подумываю о следующем патче, который мне кажется довольно неправильным, поскольку я хочу дочерние классы должны быть вынуждены реализовать этот метод.
class CustomControl : UserControl
{
protected virtual int DoStuff()
{
throw new InvalidOperationException("This method must be overriden.");
}
}
class DetailControl : CustomControl
{
protected override int DoStuff()
{
// do stuff
return result;
}
}
Кто-нибудь знает, как мне решить эту проблему?