【问题标题】:Why does UdpClient.Receive require a ref parameter?为什么 UdpClient.Receive 需要 ref 参数?
【发布时间】:2011-02-21 01:02:53
【问题描述】:

为什么UpdClient.Receive 上的参数是ref 参数,而不是简单的out

根据 MSDN 页面,参数中填入了发送数据报的地址。但是它没有指定它用于什么类型的输入,只指定输出。

【问题讨论】:

    标签: .net sockets pass-by-reference


    【解决方案1】:

    这看起来像是(非常罕见的)BCL 不一致/差异之一。该参数根本不作为方法的输入(如Reflector所示)。

    也许情况并非总是如此,他们一直使用ref 而不是切换到out 以保持向后兼容性。

    【讨论】:

    • 我不相信保留方法签名但更改功能会保留任何类型的向后兼容性。所以,要么他们破坏了兼容性并忘记修复签名(极不可能),要么总是这样......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 2016-08-08
    • 1970-01-01
    • 2010-12-12
    • 2017-05-31
    • 2012-08-03
    • 1970-01-01
    相关资源
    最近更新 更多