所以本質上,我希望能夠將多個參數傳遞給一個函數。其中之一是可選的,我也希望它采用任何類型的變量。這怎么能做到,我是不是離譜了這樣的事情:public new object Session (String strSession, Type objValue = null){ // Execute logic}或者public new object Session <T> (String strSession, objValue<T> = null) { // Execute logic}不明白為什么這被否決了。我提供了清晰的代碼片段不是嗎?
1 回答

慕斯709654
TA貢獻1840條經驗 獲得超5個贊
您可以使用object.NET 類型的基類型,也可以使用泛型方法。
public new object Session (String strSession, object objValue = null)
{
? ? // Execute logic
}
或者
public new object Session<T> (String strSession, T objValue = default)?
{
? ? // Execute logic
}
編輯:
由于T可以是任何類型,包括值類型(不能是null),default因此更適合泛型版本。
我強烈推薦通用版本,因為對于值類型,第一個版本實際上強制發生裝箱,這可能是一個性能問題。
- 1 回答
- 0 關注
- 109 瀏覽
添加回答
舉報
0/150
提交
取消