![](/img/trans.png)
[英]C# Cannot convert from 'System.DateTime' to 'object[]' methodinfo.invoke
[英]C# Cannot convert from 'object' to 'System.Net.EndPoint'
https://i.stack.imgur.com/tnx9E.png
我正在將一個開源程序從 VB 轉換為 C#,但出現此錯誤。 我花了很多時間尋找解決方案,以及嘗試自己的解決方案,但我一無所獲。 有什么建議么?
端點真的存在嗎?
端點真的是 System.Net.EndPoint 嗎?
如果是這樣,您應該將 [endpoint] 的 class 更改為 System.Net.EndPoint。
或者使用 cast 方法作為
client.SendTo(System.Text.Encoding.Default.GetBytes(A2S_INFO), (System.Net.EndPoint)endpoint);
Socket.SendTo
的方法需要一個EndPoint
類型的參數,但是您向它傳遞了一個類型為Object
的字段( private object endPoint
),它不等同於EndPoint
。
在這種特殊情況下的解決方案是將您的private object endPoint
聲明為private EndPoint endPoint
,因為您知道該字段的值將始終為EndPoint
類型或某些繼承的相同類型的 class 。
您還可以將字段轉換為EndPoint
類型,如下所示: (EndPoint)endPoint
並保留聲明為Object
的字段。 但是,如果您知道變量的實際類型,那么通常變量永遠不應為Object
類型。 Object
僅在值類型未知的情況下使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.