C# .NET-Erweiterung ohne Erweiterungsmethode [geschlossen]C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 C# .NET-Erweiterung ohne Erweiterungsmethode [geschlossen]

Post by Anonymous »

Ich habe eine Basisklasse und mehrere abgeleitete Klassen:

Code: Select all

public class Camera
{
}

public class CameraManufacturerA : Camera
{
}

public class CameraManufacturerB : Camera
{
}

public class CameraManufacturerC : Camera
{
}
Jetzt möchte ich Funktionen hinzufügen, die die Basisfunktionalität erweitern:

Code: Select all

public class CameraFeatureA : Camera
{
public int FeatureProperty { get; set; }

public bool RunFeatureA();
}
Diese Funktionen machen nur für bestimmte untergeordnete Klassen Sinn, ich strebe etwa Folgendes an:

Code: Select all

public class MyCamera : CameraManufacturerA, CameraFeatureB, CameraFeatureD
{
}
Ich weiß, genau so wird es nicht möglich sein (aus guten Gründen). Ich habe viel Zeit damit verbracht, etwas Ähnliches zu finden, konnte aber keine Lösung finden, die dem nahe kommt. Irgendwelche Ideen?
Noch eine Info: die kombinierte Klasse (

Code: Select all

MyCamera
) wird in einer Art Code-Editor verwendet, der Reflektion verwendet. Deshalb ist es wichtig, dass die Eigenschaften der untergeordneten Klassen tatsächlich Eigenschaften sind. Aber ich könnte mit einer „hackigen“ Lösung arbeiten, die Reflektion oder dynamische Klassenerstellung verwendet. Ich brauche nur die letzte kombinierte Klasse zur Laufzeit.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post