Fórum interface ou classe abstrata com generics #525480
11/07/2015
0
alguém tem ideia de como se faz para implementar um codigo como o abaixo ?!
esse exemplo é do orm aurelius...
queria implementar algo semelhante, mas a classe nao aceita generics
lembrando que o Manager no código acima possuir outros métodos além do find, e esses metodos nao tem generics...
valeu
esse exemplo é do orm aurelius...
Manager.Find<TCustomer>(CustomerId);
queria implementar algo semelhante, mas a classe nao aceita generics
lembrando que o Manager no código acima possuir outros métodos além do find, e esses metodos nao tem generics...
valeu
Felipe Barros
Curtir tópico
+ 0
Responder
Posts
15/07/2015
Dorivan Sousa
Generics é um tipo de dado flexível. São tipos parametrizados, ou, mais claramente, parâmetros-tipo, que podem ser definidos em design. Não devemos confundir os parâmetros genéricos com os tipos propriamente ditos. Generics não são tipos, são parâmetros. Assim como os parâmetros ou argumentos de um método são substituídos por um valor, o parâmetro do tipo genérico é substituído por um tipo. Os Generics fornecem uma nova forma de flexibilização dos nossos sistemas, para somar-se às formas que nós já conhecemos, como interfaces, padrões de projeto e RTTI
Leia mais em: Artigo Clube Delphi 114 - Entendendo Generics https://www.devmedia.com.br/artigo-clube-delphi-114-entendendo-generics/15811#ixzz3fxhUBwEh
Leia mais em: Artigo Clube Delphi 114 - Entendendo Generics https://www.devmedia.com.br/artigo-clube-delphi-114-entendendo-generics/15811#ixzz3fxhUBwEh
TPessoa = class
private
FNome: string;
public
procedure DigaAlo;
constructor Create(umNome: string); overload;
property Nome: string read FNome write FNome;
end;
TOperacao = class
public
procedure Troca<TipoDeDado>(var Esquerda, Direita: TipoDeDado);
end;
{...}
implementation
{ TPessoa }
constructor TPessoa.Create(umNome: string);
begin
FNome := umNome;
end;
procedure TPessoa.DigaAlo;
begin
ShowMessage('Olá, meu nome é ' + FNome);
end;
{ TOperacao }
procedure TOperacao.Troca<TipoDeDado>(var Esquerda, Direita: TipoDeDado);
var
Temp: TipoDeDado;
begin
Temp := Esquerda;
Esquerda := Direita;
Direita := Temp;
end;
Leia mais em: Artigo Clube Delphi 114 - Entendendo Generics https://www.devmedia.com.br/artigo-clube-delphi-114-entendendo-generics/15811#ixzz3fxhd8Aj1
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)