如何在Delphi中的泛型方法中完全限定类型标识符?

时间:2010-11-19 05:32:57

标签: delphi generics indy10

尝试在Indy IdUDPServer组件上分配OnUDPRead事件时出现了这个问题。 (DelphiXE Update 1)

以下自动生成的代码会出现语法错误“Expected'>'但是'。'发现“:

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

我可以通过将声明更改为:

来解决这个问题
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  AData: TArray<Byte>; ABinding: TIdSocketHandle);

为了将来参考,如何在泛型方法中完全限定类型标识符?

1 个答案:

答案 0 :(得分:4)

尚未支持完全限定类型标识符。但是你可以使用类型别名来解决这个问题:

type
  TMyByte = System.Byte;

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