所以本质上,我希望能够将多个参数传递给一个函数。其中之一是可选的,我也希望它采用任何类型的变量。这怎么能做到,我是不是离谱了这样的事情: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 关注
- 77 浏览
添加回答
举报
0/150
提交
取消