Поле класса (статическое поле) в Delphi

Есть класс TPerson. Известно, что FSecondName уникален для каждого объекта.

type
  TPerson = class(TObject)
  private
    FAge:        Integer;
    FFirstName:  String;
    FSecondName: String;
  public
    property Age:        Integer read FAge;
    property FirstName:  String  read FFirstName;
    property SecondName: String  read FSecondName;
    constructor Create;
  end;

Как я могу добавить поле класса (как статическое поле в C#) Персоны: TDictionary (String, TPerson), где ключом является SecondName, а значением является объект класса TPerson.

Спасибо!

1 ответ

Решение

Вы можете объявить переменную класса:

type 
  TMyClass = class
  private
    class var
      FMyClassVar: Integer;
   end;

Очевидно, что вы можете использовать любой тип переменной для класса.

Переменные класса имеют глобальное хранилище. Таким образом, существует единственный экземпляр переменной. Переменная класса Delphi прямо аналогична статическому полю C#.

Другие вопросы по тегам