我是新來創建泛型方法並遇到了投射問題。通用方法無法將類型爲'System.Object'的對象轉換爲X類型
以下是用於與API進行通信的類庫。我試圖將其投射到主應用程序中的對象,這可能是問題,但我不知道。我可能會做錯什麼?
我是新來創建泛型方法並遇到了投射問題。通用方法無法將類型爲'System.Object'的對象轉換爲X類型
以下是用於與API進行通信的類庫。我試圖將其投射到主應用程序中的對象,這可能是問題,但我不知道。我可能會做錯什麼?
我想投給生活在我的主要應用對象
這不是完全清楚你的意思,但是你想投的對象只是System.Object
實例:
(T)new object()
可以從未工作,除非T
本身object
。
這裏的問題似乎是,你要使用設計的方法與匿名類型(所以第二個參數是存在一個「榜樣」,使類型推斷的工作) - 但這樣一種類型,不是匿名(T
)。
我懷疑你只是想:
return JsonConvert.DeserializeObject<T>(restResponse.Content);
感謝喬恩......那很簡單。整個DeserializeAnonymousType事情讓我試圖做任何事情來清除錯誤。 –
在你的方法最後一行(T)new object()
是一個問題。這沒有意義。您正在創建System.Object
的新實例並嘗試將其投射到T
,其中T
可能是任何東西。只有在使用通用參數T
作爲System.Object
進行調用時,您的方法纔會成功。例如GetRequest<object>(...)
會通過,否則會失敗。
我不確定你想在這裏實現什麼。如果您可以提供更多信息,將很容易提供幫助。
今後,請附上*確切*你的問題的身體內的錯誤信息,說明它是否是一個編譯時錯誤或異常,以及究竟在何處指示你得到的錯誤。 –