Procedures como parametro: TProcedure
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
Curtidas 0
Respostas
Massuda
24/12/2006
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
}
}GOSTEI 0