Para que fazer TypeCast TObject(obj), se todo objeto herda de TObject?

Delphi

22/12/2014

[code language='delphi' ]
Olá, pessoal!
Minha dúvida pode ter uma resposta muito óbvia para vocês, mas, como ainda sou "júnior" em OO, segue a dúvida:

//Tenho a seguinte assinatura de método:

class function GetTableName<T: class>(Obj: T): String;

//E, na implementação tenho a seguinte linha:
TypObj := Contexto.GetType(TObject(Obj).ClassInfo);

A minha dúvida é: se na chamado método eu passo um objeto, porque preciso fazer o TypeCast TObject(obj), se o Delphi já sabe o TIPO do meu objeto? Na verdade, não entendo porque preciso fazer type cast para TObject, sendo que TODO objeto em Delphi já herda automaticamente de TObject.
A resposta à minha pergunta pode parecer óbvia (tipo pré primário... rs), mas me ajudem amigos. Muito obrigado.
Fabricio Rocha

Fabricio Rocha

Curtidas 0
POSTAR