1
Q
高級類型推理
A
回答
7
沒有,是沒有辦法在C#中做到這一點。你實質上要求的是能夠明確指定一些泛型參數並且推斷其餘部分。這在C#中不受支持;泛型類型推斷需要針對所有泛型參數或沒有泛型參數進行。
1
@Servy是正確的,但正如在其他線程上已經指出的那樣,有時您可以將類型拆分爲可以推理的東西。
在這個例子中,我們在類聲明中指定了非可推式類型,並在方法聲明中指定了可推式類型。
public static class InferHelper<TValue>
where TValue : class
{
public static TValue Get<TKey>(TKey key)
{
// do your magic here and return a value based on your key
return default(TValue);
}
}
,你這樣稱呼它:
var result = InferHelper<MyObject>.Get(2);
相關問題
- 1. Scala:類型推理和子類型/高級類型
- 2. Scala中的方法級高級類型
- 3. Java類級別類型推斷
- 4. 類型參數推斷+高階類型+型類= :-(
- 5. 類型推理引擎haskell
- 6. 基本類型推理
- 7. Java擦除類型推理
- 8. OCaml中的類型推理
- 9. Swift通用類型推理
- 10. Scala類型(推理)問題?
- 11. F#類型推理和System.Object
- 12. 使用類型級計算時輸入推理/類型檢查失敗
- 13. 在Scala中推理更高類型的類型有哪些限制?
- 14. TypeScript中的通用類型參數推理優先級
- 15. C#泛型和推理類型
- 16. classOf []用於更高級別的類型
- 17. 不支持的高級類型錯誤
- 18. 斯卡拉高級存在類型
- 19. 高級文件類型猜測
- 20. App引擎Java高級查詢類型
- 21. 推斷類型泛型類
- 22. Elasticsearch類型和屬性名稱推理
- 23. C++遞歸模板類型推理
- 24. 聯合類型推理變化
- 25. D嵌套函數類型推理
- 26. 文字的推理和數據類型
- 27. 推理數據類型屬性
- 28. 類型推理在斯卡拉地圖
- 29. 函數構建器的類型推理
- 30. TensorFlow形狀和類型推理
看到'TKey'不給編譯器,以什麼類型'TValue'可能是任何線索。 – Chris 2015-01-09 20:56:52
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2015-01-09 20:58:29