すべてのセンサー コントロール パネルに継承させたい汎用抽象UserControl
クラス があります。SensorControl
問題
EthernetSensorControl
(継承した UserControl フォームの 1 つを Visual Studio 内からデザインしようとすると、フォーム デザイナーに次のエラーが表示されます。
このファイル内のクラスを設計できないため、デザイナーを表示できませんでした。デザイナーはファイル内の次のクラスを検査しました: DeviceSensorControl --- 基本クラス 'Engine.Sensors.SensorControl' をロードできませんでした。アセンブリが参照され、すべてのプロジェクトがビルドされていることを確認してください。
SensorControl
クラス:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Engine.Sensors
{
public abstract class SensorControl<SensorType>
: UserControl where SensorType : class
{
protected SensorType _sensor;
public SensorControl(SensorType sensor)
{
_sensor = sensor;
}
}
}
継承されたクラスの例EthernetSensorControl
:
namespace Engine.Sensors
{
public partial class EthernetSensorControl
: SensorControl<EthernetSensor>
{
public EthernetSensorControl(EthernetSensor sensor)
: base(sensor)
{
}
}
}
そしてコールスタック:
System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument (IDesignerSerializationManager マネージャー) で System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad (IDesignerSerializationManager マネージャー) で Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad (IDesignerSerializationManager serializationManager) System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad (IDesignerLoaderHost ホスト) で
すべてがコンパイルされ、表示されたパネルを見ることができますが、デザインすることはできません。partial
問題はクラスに関連している可能性があると思います。何か案は?