¿Cómo califico totalmente identificadores de tipo de métodos genéricos en Delphi?
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?
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