我想知道當來自泛型方法時如何混合特定型別方法的呼叫?
我知道給出的例子是多余的。它僅用于說明目的。我想象的最小綜合背景關系如下:
該方法
BitConverter.GetBytes具有多個值型別的多載。但是如果我要撰寫一個static byte[] GetBytes<T>(T value) where T : struct會回傳的方法BitConverter.GetBytes(value),我會收到一條錯誤訊息,指出最佳多載匹配 有一些無效引數。
我想這與值是泛型型別而不是特定型別有關。
有沒有辦法為非泛型方法提供泛型型別?通過一些鑄造技巧或其他什么?
uj5u.com熱心網友回復:
目前是不可能的。您應該將泛型型別限制為編譯器可以縮小到 BitConverter.GetBytes(value) 多載之一的內容。您用來約束的結構是一個比多載之一更大的組,因此它不會讓您繼續。
使用 c#10,您可能有機會使用“擴展所有內容”功能,但它尚未發布,現在談論它沒有多大意義。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/311166.html
上一篇:Java泛型函式回傳宣告
