У меня есть общий абстрактный класс UserControl
, SensorControl
, от которого я хочу наследовать все свои панели сенсорного управления.
Проблема
При попытке создать EthernetSensorControl
(одна из моих унаследованных форм UserControl, из 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 (ID сериализации IDesignerSerializationManager) в System.ComponentModel.Design.Serialization * * * 12 *.Я могу видеть панель, но я не могу создать ее.Я думаю, что проблема может быть связана с partial
классами.Есть идеи?