2017-08-16 1 views
0

Ich habe eine KlasseWie transformiere ich eine Eigenschaft einer Klasse zur Laufzeit?

type 
    myClass = class 
    private 
    FId: Integer; 
    public 
    function GetId: Integer; 
    property Id: Integer read FId; 
    end; 

Nun, ich möchte die Id Eigenschaft Getter zur Laufzeit tauschen die GetId Methode anstelle des FId Feld zu verwenden. Kann ich RTTI oder andere Methoden verwenden, um dies zu realisieren?

+1

Willkommen zu stapeln über den Fluss bitte erklären Sie mehr es ist unklar, was Sie fragen. –

+0

Eigenschaft Id: ganze Zahl lesen Fld; Property-ID-Wert von Fid, ich möchte GetId GetValue in Runtime austauschen – mimakongjing

+0

Möchten Sie den Wert von Getid in Fid setzen? –

Antwort

1

Sie können das Eigenschaftsleserfeld zur Laufzeit nicht durch eine Getter-Methode ersetzen. Aber Sie können dies schreiben:

+0

Natürlich weiß ich das, aber dieses Du schreibst nicht was ich will, aber vielen Dank für deine Hilfe – mimakongjing

+0

Vielleicht gibt es mehr Flexibilität, wenn dieser Getter ein Ereignis auslöst. –

+0

@David, hängt davon ab, was Sie tun möchten. Einen Event zu feuern ist für Klassenverbraucher. – Victoria

Verwandte Themen