Einzelnen Beitrag anzeigen

hschmid67

Registriert seit: 2. Jul 2012
Ort: Weilheim i. Obb.
62 Beiträge
 
Delphi 10.4 Sydney
 
#1

Attribute einer Methode in Methode abfragen

  Alt 3. Feb 2018, 11:37
Delphi-Version: 5
Hallo Zusammen,

ich wäre froh, wenn mir jemand bei einer Verständnisfrage zu Attributen helfen könnte.
Ich möchte gerne in einer eigene Klasse Methoden durch Attribute so kennzeichnen, dass sie nur bestimmte User ausführen dürfen.

(habe mal wieder vergessen, die Delphi-Version umzustellen: Habe nicht Delphi 5 sondern Tokyo Pro)


Ich habe mir in etwa folgenden Pseudo-Code vorgestellt:

Delphi-Quellcode:
TmyClass = class
  [RightAttribute('Special')]
  procedure DoSpecialJob;
end;

procedure TmyClass.DoSpecialJob;
begin
  if not CurrentUserHasRight(RightOfMethod) then
    raise Exception.Create('Method not allowed for user');

  // eigentlicher Code der Methode
end;
Ich weiß nun leider nicht, wie ich mit "RightOfMethod" die Attribute der gerade ausgeführten Methode abfragen kann.

Man könnte natürlich das Attribut weglassen und gleich in die Methode schreiben, aber eigentlich fände ich es eleganter, wenn solche Attribute/Konfigurationen im Interface-Teil stünden und nicht in der Implementation.

Also, ersatzweise ging sonst in der Implementation auch

Delphi-Quellcode:
procedure TmyClass.DoSpecialJob;
begin
  if not CurrentUserHasRight('Special') then
    raise Exception.Create('Method not allowed for user');

  // eigentlicher Code der Methode
end;
Beginne gerade, mit Attributen zu experimentieren - und vielleicht habe ich das eine oder andere noch nicht ganz verstanden. Deshalb wäre ich für jeden Hinweis dankbar. Oder im konkreten Fall auch für eine andere Lösung des Problems

Viele Grüße
Harald
Harald Schmid
  Mit Zitat antworten Zitat