Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Readonly interface erzeugen (MMX?)

  Alt 5. Jan 2022, 15:05
Ich würde das viel einfacher machen:
Delphi-Quellcode:
type
  IData = interface
    ['{E9154DD9-A28E-4703-9DD8-5181A27869E2}']
    procedure SetActualValue(const p_Component: Byte; const p_Value : double);
    procedure SetCurrentActual(const p_Value: IActualValue);
    procedure SetDefaultBehaviourMode(const p_Value: String);
  end;

  IReadOnlyData = interface
    ['{7F08C18E-0E6A-40F1-9DD9-AFDDA473FB8B}']
    function GetActualValue(const p_Component: Byte): double;
    function GetCurrentActual(): IActualValue;
    function GetDefaultBehaviourMode(): String;
    property DefaultBehaviourMode: String read GetDefaultBehaviourMode;
    property CurrentActual: IActualValue read GetCurrentActual;
    property ActualValue[const p_Component: Byte]: double read GetActualValue;
  end;
Wer sich zum Schreiben extra das entsprechende Interface holen kann, kann auch einfach die Setter verwenden. Dann sieht man auch direkt, dass da geschrieben wird. Dann gibt es auch keine doppelten Deklarationen der Properties usw. und da die Properties in Interfaces auch nur syntaktischer Zucker sind, muss man die noch nicht einmal in der implementierenden Klasse deklarieren.

Dadurch ist der Anpassungsaufwand relativ niedrig.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat