如何在 Delphi 中的泛型方法中完全限定类型标识符?
当尝试在 Indy IdUDPServer 组件上分配 OnUDPRead 事件时出现了这个问题。 (DelphiXE 更新 1)
以下自动生成的代码给出语法错误“Expected '>'但 '。'发现”:
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
AData: TArray<System.Byte>; ABinding: TIdSocketHandle);
我可以通过将声明更改为来解决此问题:
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
AData: TArray<Byte>; ABinding: TIdSocketHandle);
为了将来参考,如何在泛型方法中完全限定类型标识符?
This question came up when trying to assign the OnUDPRead event on an Indy IdUDPServer component. (DelphiXE Update 1)
The following auto-generated code gives a syntax error "Expected '>' but '.' found":
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
AData: TArray<System.Byte>; ABinding: TIdSocketHandle);
I can work around this by changing the declaration to:
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
AData: TArray<Byte>; ABinding: TIdSocketHandle);
For future reference, how do I fully qualify a type identifier in a generic method?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
(尚)不支持完全限定的类型标识符。但您可以使用类型别名来规避此问题:
Fully qualified type identifiers are not (yet) supported. But you can circumvent this using a type alias: