我有一個像public static TOut Method<TIn, TOut>(TIn in)with constraint的方法where TIn: class, Interface<TOut>。
Method<ClassIn, ClassOut>(ObjectIn);當我使用它時,我是否總是需要寫,或者有什么方法可以TIn通過引數進行推斷,所以我只需要寫Method<ClassOut>(ObjectIn);?它ClassOut不時變化,所以我不能每次都為它撰寫一個靜態類。
另外,C# 不能從約束推斷型別,所以不可能同時推斷TIn和TOut推斷,這是正確的嗎?
uj5u.com熱心網友回復:
是的,您總是需要指定這兩種型別。型別推斷僅在您指定所有型別引數時才有效。
是的,C# 編譯器無法根據約束推斷型別。它只能根據您作為引數傳入的型別來推斷型別。
另一方面,在這方面有一個關于改進型別推斷的未決問題,但它似乎沒有高優先級。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/394602.html
上一篇:具有水平滾動的多個粘性部分
下一篇:無法創建發送方/接收方協議
