タイトルは実際問題を非常にうまく説明するはずです。新しいUserControl
を作成することを検討してください。ただし、私のアプリケーションでは、これらの要素の多くが共通のコードを共有していますが、それらはユーザーコントロールの「サブグループ」の一部です。Visual Studioデザイナで作業中にUserControl基底クラスを継承するエラー
論理的なことは、生成されたCustomUserControl
とUserControl
の間にクラスを「注入」することです。
に似て何か:
public abstract class CommonCustomControl : UserControl
{
public CommonCustomControl(int v, string other) {
}
}
public partial class CustomUserControl : CommonCustomControl
{
CustomUserControl(int v, string other) : base(v, other) {
}
}
さて、これで問題があるが、クラスは唯一の「一部」のVisual Studioによって生成されるということです。だから、生成されたCustomUserControl
クラスがエラーを与える変更:
「基本クラスは、他の部分で宣言されたとは異なり、」
は、どのように私はこのエラーを防ぐことができますか?まだ実際にはVisual StudioのGUIデザイナーで自分のユーザーコントロール要素を設計することができますか?
私はすでに答えをthis questionで提供しようとしました。しかし、まったく動かないようです。 (WPFバージョンではなくwinformsについて話しているかもしれません)
[TypeDescriptionProvider(typeof(AbstractControlDescriptionProvider<InterfaceHandler, UserControl>))]
public abstract class CommonCustomControl : UserControl
{
private readonly int _v;
private readonly string _other;
public CommonCustomControl(int v, string other) {
_v = v;
_other = other;
}
}
public partial class CustomUserControl : CommonCustomControl
{
public CustomUserControl(int v, string other) : base(v, other) {
}
}
何が問題になりますか?
ああ私もそのようなことをすることができます。 – paul23
見逃しやすいので... –