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

从参数类型派生方法返回类型

从参数类型派生方法返回类型

C#
jeck猫 2023-07-22 16:27:11
我想知道是否可以创建这样的方法:public var test (var value){    // ...    return value;}  意思是,如果value是 a bool,我想返回 a bool,如果value是 a string,我想返回 a string,等等。
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

如果您的返回类型应该与value参数的类型相同,您可以创建一个带有泛型参数的方法:

public T Test<T>(T value){ 
   return value;
}

您提到您也可以使用关键字来做到这一点,但我建议不要在这样的场景中dynamic使用。dynamic在某些特殊情况dynamic下,应该使用泛型,但它主要在处理 COM 互操作时变得相关。


查看完整回答
反对 回复 2023-07-22
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

根据您的最终声明,您希望返回在输入中收到的相同类型,因此,您可以使用通用函数来完成


public T test<T>(T input)

{

    return input;

}


void Main()

{

    Console.WriteLine(test(true));

    Console.WriteLine(test(1));

    Console.WriteLine(test("Steve"));

}

查看完整回答
反对 回复 2023-07-22
?
翻阅古今

TA贡献1780条经验 获得超5个赞

我找到了一个方法:

public dynamic GetAnything(dynamic val){ 
   return val;
}


查看完整回答
反对 回复 2023-07-22
  • 3 回答
  • 0 关注
  • 78 浏览

添加回答

举报

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