为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
Smart猫小萌 2023-09-16 17:05:07
所以本质上,我希望能够将多个参数传递给一个函数。其中之一是可选的,我也希望它采用任何类型的变量。这怎么能做到,我是不是离谱了这样的事情: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因此更适合泛型版本。


我强烈推荐通用版本,因为对于值类型,第一个版本实际上强制发生装箱,这可能是一个性能问题。



查看完整回答
反对 回复 2023-09-16
  • 1 回答
  • 0 关注
  • 41 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信