Autor Téma: Generic toString  (Přečteno 191 krát)

Offline PetrB0

  • Nováček
  • *
  • Příspěvků: 26
  • Karma: 0
    • Verze Delphi: Delphi XE2
Generic toString
« kdy: 03-02-2018, 19:30:04 »
Ahoj,
mám jednoduchý typ:
Kód: Delphi [Vybrat]
  1. Type
  2.     TPriklad<T> = Class
  3.                    private
  4.                     pObsah : T;
  5.                    public
  6.                     Function AsString : String;
  7.                   End;
  8.  
  9. function TPriklad<T>.AsString: String;
  10. begin
  11.  Result:=pObsah.ToString; //Chyba Undeclared Identifier
  12. end;
  13.  

Jak v tomto případě udělám výstup do stringu?

Díky

Pb

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2059
  • Karma: 104
    • Verze Delphi: D2007, XE3, DX10
Re:Generic toString
« Odpověď #1 kdy: 03-02-2018, 19:53:50 »
Kód: Delphi [Vybrat]
  1. Type
  2.     TPriklad<T> = Class
  3.                    private
  4.                     pObsah : T;
  5.                    public
  6.                     Function AsString : String;
  7.                   End;
  8.  
  9. function TPriklad<T>.AsString: String;
  10. begin
  11.  Result:=pObsah.ToString; //Chyba Undeclared Identifier
  12. end;
  13.  

Jak v tomto případě udělám výstup do stringu?
No budes mu muset rict, ze T ma metodu ToString(), coz se dela pomoci generic constraintu, v Delphi uz nedelam a ani ho nemam nainstalovanu, ale z hlavy bych to videl na neco takoveho (predpokladam, ze v Delphi je TObject bazalni trida implementujici metodu ToString()
Kód: Delphi [Vybrat]
  1.     TPriklad<T:TObject> = Class
  2.  

Offline PetrB0

  • Nováček
  • *
  • Příspěvků: 26
  • Karma: 0
    • Verze Delphi: Delphi XE2
Re:Generic toString
« Odpověď #2 kdy: 03-02-2018, 20:36:56 »
Díky, tak nějak jsem to tušil z těch článků, co jsem našel na netu, ale tajně jsem doufal, že to bude mít nějakou obecnou funkci jako Default..

Já to na konec vyřeším přes externí formátovací funkci, kterou k tomu připojím.

Díky

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Kolik je šest plus čtyři (slovem):