Clojure CLR 中的 UDP 套接字代码

UDP Socket code in Clojure CLR

我正在尝试找出与 .Net 互操作的正确语法 System.Net.Sockets。我的问题是参数的枚举部分。这是 c# 中的等效代码:

Socket newsock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)

在 clojure-clr 中,我正在尝试以下操作:

(System.Net.Sockets.Socket. (AddressFamily/InterNetwork) (SocketType/Dgram) (ProtocolType/Udp))

我正在 CompilerException.InvalidOperationException。 我查看了 https://github.com/clojure/clojure-clr/wiki/Working-with-enums 关于枚举但不理解它。

我也试过:

(System.Net.Sockets.Socket. (.InterNetwork AddressFamily) (.Dgram SocketType) (.Udp ProtocolType))

尝试以下方法

(import [System.Net.Sockets Socket AddressFamily SocketType ProtocolType])
(Socket. AddressFamily/InterNetwork SocketType/Dgram ProtocolType/Udp)