我想知道是否可以創(chuàng)建這樣的方法:public var test (var value){ // ... return value;} 意思是,如果value是 a bool,我想返回 a bool,如果value是 a string,我想返回 a string,等等。
3 回答

慕雪6442864
TA貢獻1812條經(jīng)驗 獲得超5個贊
如果您的返回類型應(yīng)該與value
參數(shù)的類型相同,您可以創(chuàng)建一個帶有泛型參數(shù)的方法:
public?T?Test<T>(T?value){? ???return?value; }
您提到您也可以使用關(guān)鍵字來做到這一點,但我建議不要在這樣的場景中dynamic
使用。dynamic
在某些特殊情況dynamic
下,應(yīng)該使用泛型,但它主要在處理 COM 互操作時變得相關(guān)。

飲歌長嘯
TA貢獻1951條經(jīng)驗 獲得超3個贊
根據(jù)您的最終聲明,您希望返回在輸入中收到的相同類型,因此,您可以使用通用函數(shù)來完成
public T test<T>(T input)
{
? ? return input;
}
void Main()
{
? ? Console.WriteLine(test(true));
? ? Console.WriteLine(test(1));
? ? Console.WriteLine(test("Steve"));
}
- 3 回答
- 0 關(guān)注
- 129 瀏覽
添加回答
舉報
0/150
提交
取消