所以本質(zhì)上,我希望能夠?qū)⒍鄠€(gè)參數(shù)傳遞給一個(gè)函數(shù)。其中之一是可選的,我也希望它采用任何類型的變量。這怎么能做到,我是不是離譜了這樣的事情: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貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以使用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因此更適合泛型版本。
我強(qiáng)烈推薦通用版本,因?yàn)閷τ谥殿愋?,第一個(gè)版本實(shí)際上強(qiáng)制發(fā)生裝箱,這可能是一個(gè)性能問題。
- 1 回答
- 0 關(guān)注
- 107 瀏覽
添加回答
舉報(bào)
0/150
提交
取消