TmyNestedType
kann natürlich nicht gehen, da es vom aktuellen Scope aus nicht sichtbar ist.
TmyBaseClass.TmyNestedType
wäre somit "eigentlich" richtig.
Ich vermute mal, dass es aber noch nicht bekannt ist, da der TYPE-Block noch nicht abgeschlossen ist.
Auch bei den Generics gibt es da schonmal Problemchen.
Delphi-Quellcode:
type
TmyBaseClass = class(TObject)
protected type
TmyNestedType = record
SomeProperty: Integer;
end;
end;
type
TmyChildClass = class(TmyBaseClass)
protected
function Produce: TmyBaseClass.TmyNestedType;
end;
TmyNestedType könnte hier sogar private sein, nur nicht strict-private, aber wegen der Vererbung von TmyChildClass wäre protected am Besten, da gleiches Level wie Produce.