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


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

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


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

#3

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


#4

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


#5

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


#6

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


#7

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


#8

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


#9

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

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;

не хочется.


#10

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


#11

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


#12