¿Cómo califico totalmente identificadores de tipo de métodos genéricos en Delphi?

StackOverflow https://stackoverflow.com/questions/4222379

  •  26-09-2019
  •  | 
  •  

Pregunta

Esta pregunta surgió cuando se trata de asignar el evento OnUDPRead en un componente Indy IdUDPServer. (DelphiXE Update 1)

El siguiente código generado automáticamente da un error de sintaxis "Se esperaba '>', pero ''. encontrado ":

procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  AData: TArray<System.Byte>; ABinding: TIdSocketHandle);

Me puede evitar esto cambiando la declaración a:

procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  AData: TArray<Byte>; ABinding: TIdSocketHandle);

En el futuro, ¿Cómo califico totalmente un identificador de tipo de un método genérico?

¿Fue útil?

Solución

identificadores de tipo completo no son (todavía) compatibles. Pero se puede eludir este tipo utilizando un alias de:

type
  TMyByte = System.Byte;

procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  AData: TArray<TMyByte>; ABinding: TIdSocketHandle);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top