动态返回类型的函数
如何根据参数类型创建一个具有动态返回类型的函数?
喜欢
protected DynamicType Test(DynamicType type) { return ; }
你必须使用generics。 例如,
protected T Test(T parameter) { }
在此示例中,’
‘告诉编译器它表示类型的名称,但您不知道在创建此函数的上下文中是什么。 所以你最终称之为……
int foo; int bar = Test(foo);
虽然接受的答案是好的,但它已经写了两年多了,所以,我应该补充说你可以使用:
protected dynamic methodname(dynamic input) { return input; }
输入将作为相同类型返回,您不需要将该方法作为通用方法调用。
参考:
https://msdn.microsoft.com/en-us/library/dd264736.aspx
实际上,假设您有一组已知的参数和返回类型,可以通过简单的重载来处理:
protected int Test(string p) { ... } protected string Test(DateTime p ) { .... }
然后你需要使用generics。
protected T Test(T type) { return type; }
C#不是动态语言。 要在C#中解决这个问题,您可以返回一个通用对象,然后将类型转换为您认为该值应该是什么 – 不推荐。 您也可以返回一个接口,这样您就不会真正关心特定的类实例。 正如其他人指出你也可以使用generics。 这实际上取决于您在函数体内需要/想要做什么,因为上面的所有方法都有其自身的局限性。
上述就是C#学习教程:动态返回类型的函数分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/949379.html