カスタムのいくつかの抽象基本クラスが必要ですUserControl
。その理由は明らかです。それらはいくつかの共通のプロパティとメソッド (実際にはインターフェイスのいくつかの要素の基本的な実装) を共有しており、それらを一度だけ実装したいからです。
抽象基本クラスを定義することでこれを行いました。
public abstract class ViewBase : UserControl, ISomeInterface
次に、いつものように、デザイナーを使用してビューの 1 つを実装しました。
public partial class SpecialView : UserControl //all OK
ここまではすべて問題ありません。ここで、クラスの派生をSpecialView
抽象基本クラスに置き換えます。
public partial class SpecialView : ViewBase //disrupts the designer
現在、Visual Studio 2008 のデザイナーは機能しなくなり、次のように述べています。The designer must create an instance of type 'ViewBase' but it cannot because the type is declared as abstract.
どうすればこれを回避できますか? これらすべてのビューに同じコードをコピーしたくないだけです。
情報:抽象クラスではなく仮想メソッドに関する質問がありますが、適切な解決策はありません。