Fórum Procedures como parametro: TProcedure #335194
24/12/2006
0
Na VCL Win32 eu posso criar uma função com um parâmetro do tipo TProcedure, onde posso passar uma procedure como argumento da função. Alguém sabe como fazer isso na VCL .NET ou em .NET?
Marcosalex
Curtir tópico
+ 0
Responder
Posts
26/12/2006
Massuda
Em .NET não tem o conceito de ´ponteiro para função/procedure´, o que existe é ´delegação´ ([i:7e1a3bc5e3]delegate[/i:7e1a3bc5e3]). Um exemplo, em C#......infelizmente, não tenho idéia de como fica isso em Delphi.NET.
public delegate int FuncaoDeComparar(object x, object y);
public int Comparar(object x, object y) { ... }
public void Ordenar() {
FuncaoDeComparar comparador = new FuncaoDeComparar(Comparar);
// comparador pode ser usado aqui ou passado para outra função
if (comparador(x, y) == 0) {
// x e y são iguais
}
else {
// x e y são diferentes
}
}
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)