Interfaces haben eigentlich keine Property, da gibt es nur Methoden, auch wenn Delphi hier die Property mit anbietet.
Aber daher fehlt dafür dann auch die automatische Codeverfolständigung.
Obwohl man sich natürlich fragen könnte, warum für Interfaces nicht einfach die Vervolständigung für Klassen verwendet wird/kopiert wurde. (abzüglich der Methodenimplementation und der Felder)
Private: Private Felder werden angelegt, für Property.
Außer in der Starter, da fehlt eh Vieles.
Delphi-Quellcode:
type
TMyClass = class
property Name1: string read GetName1 write SetName1; // Template prop
property Name2: string read FName2 write FName2; // Template propf
property Name3: string read GetName3 write SetName3; // Template propgs
property Name4: string read GetName4; // Template propro
property Name5: string read FName5; // Template proprof
property Name6: string write FName6;
end;
TMyClass = class
private
FName2: string;
FName6: string;
FName5: string;
function GetName1: string;
function GetName3: string;
function GetName4: string;
procedure SetName1(const Value: string);
procedure SetName3(const Value: string);
published
property Name1: string read GetName1 write SetName1; // Template prop
property Name2: string read FName2 write FName2; // Template propf
property Name3: string read GetName3 write SetName3; // Template propgs
property Name4: string read GetName4; // Template propro
property Name5: string read FName5; // Template proprof
property Name6: string write FName6; // !!! hier legt Delphi mir manchmal auch noch den Getter an, egal ob ich will oder nicht !!!
end;
Interface-Methoden legt nicht ver Klassenvervollständigung (Strg+Shift+C) an, sondern das übernimmt "teilweise" die Code-Vervolständigung (Strg+Leertaste),
aber du mußt da selber auswählen was du willst. Wenigstens mit Multiselect, auch wenn es schwachsinn ist, denn von Interfaces müssen sowieso immer alle Methoden implementiert werden, dann könnte Delphi da auch von Selber gleich alles anlegen.
Die Codevervollständigung legt "eigentlich" alles alphaetisch an.
Und ja, mir wäre die Reihenfolge der Implementation auch lieber.
Und obwohl das alphabetisch rein kommt, dreht es schnell durch, wenn einmal in der Implementation die Reihenfolge der vorher bestehenden Methoden nicht stimmt, oder wenn man überladene Methoden hat, dann wird schnell mal was zu früh eingefügt.