У меня есть базовый класс и несколько производных классов:
Код: Выделить всё
public class Camera
{
}
public class CameraManufacturerA : Camera
{
}
public class CameraManufacturerB : Camera
{
}
public class CameraManufacturerC : Camera
{
}
Теперь я хочу добавить функции, расширяющие базовый функционал:
Код: Выделить всё
public class CameraFeatureA : Camera
{
public int FeatureProperty { get; set; }
public bool RunFeatureA();
}
Эти функции имеют смысл только для определенных дочерних классов, я стремлюсь к чему-то вроде этого:
Код: Выделить всё
public class MyCamera : CameraManufacturerA, CameraFeatureB, CameraFeatureD
{
}
Я знаю, именно так это будет невозможно (по уважительным причинам). Я потратил много времени, пытаясь найти что-то подобное, но не смог найти близкого решения. Есть идеи?
Еще одна информация: комбинированный класс (
) будет использоваться в своего рода редакторе кода, использующем отражение. Вот почему важно, чтобы свойства дочерних классов действительно были свойствами. Но я мог бы работать с «хакерским» решением, используя отражение или создание динамических классов. Мне нужен только последний комбинированный класс во время выполнения.
Подробнее здесь:
https://stackoverflow.com/questions/798 ... ion-method