C# 如何更改方法';s基于参数值的返回类型?

C# 如何更改方法';s基于参数值的返回类型?,c#,C#,如何根据returnType的值更改此方法的返回类型? 我希望返回int、float和decimals,而不为每一个创建单独的方法。具体来说,如何根据returnType的值更改第一行中的小数点 public static decimal RequestNumber(string returnType) { Console.WriteLine(inputRequest); decimal result; switch(returnTyp

如何根据returnType的值更改此方法的返回类型? 我希望返回int、float和decimals,而不为每一个创建单独的方法。具体来说,如何根据returnType的值更改第一行中的小数点

public static decimal RequestNumber(string returnType)
    {
        Console.WriteLine(inputRequest);

        decimal result;

        switch(returnType)
        case decimal:
            bool parsed = decimal.TryParse(Console.ReadLine(), out result);
        case int:
            bool parsed = int.TryParse(Console.ReadLine(), out result);
        case single:
            bool parsed = single.TryParse(Console.ReadLine(), out result);
        return result;
    }

任何帮助都将不胜感激

您可以使用对象类型,然后在调用时强制转换返回结果

private static object duo(string req)
{

    if (req == "Y")
    {
        string s = "Type String";
        return s;
    }
    else
    {
        List < string > l  = new List<string> { "Type", "List" };

        return l;
    }
}
私有静态对象duo(字符串请求)
{
如果(请求=“Y”)
{
string s=“Type string”;
返回s;
}
其他的
{
Listl=新列表{“Type”,“List”};
返回l;
}
}
然后使用它:

List<string> res = (List<string>)duo("H");
List res=(List)duo(“H”);

最好开始研究如何使用
ConvertTo
方法,或者将类型更改为Int并将十进制作为输入参数传递。。您需要返回阅读
C#Basics
看起来是重复的,但它确实使用输入参数为其添加了旋转:尝试使用泛型方法为检测到的每个字符串类型返回T和Func。