Hal*_*ier -1 c# model-view-controller asp.net-mvc types optional
因此,从本质上讲,我希望能够将多个参数传递给一个函数。其中之一是可选的,我也希望它采用任何类型的变量。
我该怎么做才能做到这一点呢?
public new object Session (String strSession, Type objValue = null)
{
// Execute logic
}
Run Code Online (Sandbox Code Playgroud)
要么
public new object Session <T> (String strSession, objValue<T> = null)
{
// Execute logic
}
Run Code Online (Sandbox Code Playgroud)
不明白为什么这被否决了。我提供了清晰的代码段,不是吗?
您可以使用object(这是所有.NET类型的基本类型),也可以使用通用方法。
public new object Session (String strSession, object objValue = null)
{
// Execute logic
}
Run Code Online (Sandbox Code Playgroud)
要么
public new object Session<T> (String strSession, T objValue = default)
{
// Execute logic
}
Run Code Online (Sandbox Code Playgroud)
编辑:
由于T可以是任何类型,包括值类型(不能为null),default因此更适合于通用版本。
我强烈建议使用通用版本,因为对于值类型,第一个版本实际上会强制装箱,这可能是性能问题。
在此处阅读有关装箱和拆箱的更多信息。
| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |