Расширение C# .NET без метода расширенияC#

Место общения программистов C#
Ответить
Anonymous
 Расширение C# .NET без метода расширения

Сообщение Anonymous »

У меня есть базовый класс и несколько производных классов:

Код: Выделить всё

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
{
}
Я знаю, именно так это будет невозможно (по уважительным причинам). Я потратил много времени, пытаясь найти что-то подобное, но не смог найти близкого решения. Есть идеи?
Еще одна информация: комбинированный класс (

Код: Выделить всё

MyCamera
) будет использоваться в своего рода редакторе кода, использующем отражение. Вот почему важно, чтобы свойства дочерних классов действительно были свойствами. Но я мог бы работать с «хакерским» решением, используя отражение или создание динамических классов. Мне нужен только последний комбинированный класс во время выполнения.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ion-method
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»