Расширенные свойства [closed]

type
  CircleWPF = class
  public
    property Width: real 
      write (ob.Width, ob.Height) := (value, value);
  end;
 
begin
end.

Как это понимать?

type
  CircleWPF = class
  ob: FrameworkObject;
  procedure pp(value: real);
  begin
    (ob.Width, ob.Height) := (value, value);
  end;
  public
    property Width: real 
      write pp;
  end;
1 лайк

FrameworkObject - можно подробнее?

Ошибся. FrameworkElement. Это стандартный тип в WPF

А как определяется тип ob?

Ну, зачем Вам? Скоро появится новый модуль WPFObjects - тогда посмотрите исходные коды, там налево-направо расширенные свойства.

Мне - просто интересно. Хотелось бы знать как влиять на тип ob.

Раз интересно - закачал на Github - смотрите

1 лайк

А нельзя ли сделать вот так:

Type My = class
  public property a: Single Read Write;
End;

? Иногда нужно, чтобы поле класса выглядело как свойство, но городить такой огород

Type My = class
  private __a: Single;
  public property a: Single Read __a Write __a;
End;

не хочется.

Ну, это авто свойства, для них есть отдельная тема. И раньше @Admin считал их хорошей идеей, но в той теме, почему то он сказал обратное, и это было последнее что кто то там писал.

Восстановил тему.