Hallo,
bin gerade dabei mir das Beispiel von
http://www.malcolmgroves.com/blog/?p=476 anzusehen und habe ein Verständnisproblem mit Attributen.
Und zwar bei
Delphi-Quellcode:
MyAttribute = class(TCustomAttribute)
private
FName: string;
FAge: Integer;
public
constructor Create(const Name : string; Age : Integer);
property Name : string read FName write FName;
property Age : Integer read FAge write FAge;
end;
Delphi-Quellcode:
TMyClass = class
public
[MyAttribute('Malcolm', 39)]
procedure MyProc(const s : string);
[MyAttribute('Julie', 37)]
procedure MyOtherProc;
end;
Was passiert bei [MyAttribute('Malcolm', 39)]? Ist es richtig das in der Methode MyProc ein neues Objekt der Klasse MyAttribute mit den Inhalten ('Malcolm', 39) erzeugt wird?
Das wäre dann gleich mit:
Delphi-Quellcode:
procedure MyProc (...)
var
a : MyAttribute
begin
a := MyAttribute.create('Malcolm', 39);
end;
Nur wie erfolgt der Zugriff auf das mittels [MyAttribute('Malcolm', 39)] erzeugte Objekt? Kann man sich da auch so etwas wie var a : MyAttribute anlegen, um nicht jeden Zugriff über TRttiContext durchzuführen?