如題:

解决方案 »

  1.   

    可以,类函数前加 class前缀,前提是此函数与类实体无关。
    如:
      TObject = class
        constructor Create;
        procedure Free;
        class function InitInstance(Instance: Pointer): TObject;
        procedure CleanupInstance;
        function ClassType: TClass;
        class function ClassName: ShortString;
        class function ClassNameIs(const Name: string): Boolean;
        class function ClassParent: TClass;
        class function ClassInfo: Pointer;
        class function InstanceSize: Longint;
        class function InheritsFrom(AClass: TClass): Boolean;
        class function MethodAddress(const Name: ShortString): Pointer;
        class function MethodName(Address: Pointer): ShortString;
        function FieldAddress(const Name: ShortString): Pointer;
        function GetInterface(const IID: TGUID; out Obj): Boolean;
        class function GetInterfaceEntry(const IID: TGUID): PInterfaceEntry;
        class function GetInterfaceTable: PInterfaceTable;
        function SafeCallException(ExceptObject: TObject;
          ExceptAddr: Pointer): HResult; virtual;
        procedure AfterConstruction; virtual;
        procedure BeforeDestruction; virtual;
        procedure Dispatch(var Message); virtual;
        procedure DefaultHandler(var Message); virtual;
        class function NewInstance: TObject; virtual;
        procedure FreeInstance; virtual;
        destructor Destroy; virtual;
      end;
      

  2.   

    类方法... 是的.顺便问一下, Delphi各个版本里, 都不支持类似C++里 类的“静态成员”吗?