如何在delphi中将属性标记为已弃用?

时间:2012-02-29 13:21:41

标签: delphi properties deprecated

我想在Delphi中将某个属性标记为已弃用以便稍后删除。根据Delphi文档,不推荐使用的文档可以附加到任何声明中,但它不适用于属性。有没有办法做到这一点?

这就是我的尝试:

property SomeProp: string
  read   FSomeProp
  write  SetSomeProp; deprecated 'Use SomeOtherProp instead';

2 个答案:

答案 0 :(得分:27)

不,这是不可能的。根据{{​​3}},

  

'提示'指令平台已弃用可能是   附在任何声明中。这些指令将产生警告   编译时间。提示指令可以应用于类型声明,   变量声明,类,接口和结构声明,   类或记录,过程,函数和中的字段声明   方法声明和单位声明。

答案 1 :(得分:0)

你不能这样做,但你可以在属性setter / getter中编写一个已弃用的代码!

所以在你的情况下,你应该像这样创建一个SetSomeProp设置器:

Type
    TYourClass = class
    private
      procedure DummyDepricated; deprecated 'Use SomeOtherProp instead';
      procedure SetSomeProp(const AValue: string); 
    published
      property SomeProp: string read   FSomeProp write  SetSomeProp; 

    implementation

    procedure TYourClass.SetSomeProp(const AValue: string); 
    begin
      DummyDepricated;
      //the old setter code here
    end;

    procedure TYourClass.DummyDepricated;
    begin
      //this is dummy
    end;