Search code examples
delphidelphi-11-alexandria

how can I get the ClassType from a Class method?


How do I return the type of a class in a class method?

In a regular method, I can use self.ClassType, but there doesn't seem to be a class method on TObject that achieves this (although I can get the ClassName).

class function TSomething.MyClass: TClass;
begin
  //what goes here?
end;

Solution

  • In a class method the TClassType is just Self

    class function TSomething.MyClass: TClass;
    begin
      result := Self;
    end;