Da kommt einfach irgendwas mit dem < und > im Typnamen nicht klar.
Dieses Problem ist auch bei anderen Dingen vertreten, wie z.B. publisched Felder in der
DFM und, ich glaub, das DataSnap muckte da auch etwas rum.
Delphi-Quellcode:
type
MyGenericAttribute<T> = class(TCustomAttribute)
protected var someValue: T;
public constructor Create(const someValue: T);
end;
MyIntegerAttribute = class(MyGenericAttribute<Integer>);
MyStringAttribute = class(MyGenericAttribute<String>);
TMyTaggedClass = class
protected var
[MyIntegerAttribute(123)]
someVariable: String;
end;