AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Readonly interface erzeugen (MMX?)

Ein Thema von freimatz · begonnen am 5. Jan 2022 · letzter Beitrag vom 5. Jan 2022
 
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.919 Beiträge
 
Delphi 12 Athens
 
#8

AW: Readonly interface erzeugen (MMX?)

  Alt 5. Jan 2022, 14: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
AppCentral
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz