如何将任何类型的值传递给函数

所以本质上,我希望能够将多个参数传递给一个函数。其中之一是可选的,我也希望它采用任何类型的变量。


这怎么能做到,我是不是离谱了这样的事情:


public new object Session (String strSession, Type objValue = null)

{

    // Execute logic

}

或者


public new object Session <T> (String strSession, objValue<T> = null) 

{

    // Execute logic

}

不明白为什么这被否决了。我提供了清晰的代码片段不是吗?


Smart猫小萌
浏览 78回答 1
1回答

慕斯709654

您可以使用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因此更适合泛型版本。我强烈推荐通用版本,因为对于值类型,第一个版本实际上强制发生装箱,这可能是一个性能问题。
打开App,查看更多内容
随时随地看视频慕课网APP