我有一个方法,其调用者需要不同的数据类型。通过将它们放入每个调用程序中,我可以重复进行十次必要的转换,但是在被调用的方法中进行一次转换似乎效率更高。

public String myMethod(String myArg)
{
    return DoSomething(myArg);
}

public Int32 myMethod(String myArg)
{
    return Convert.ToInt32(DoSomething(myArg));
}

private String DoSomething(key)
{
    return SomeList[key];
}


如果我有多种方法要从SomeList中提取数据并且必须利用不同的数据类型,那么在每种方法中我都必须进行类型转换。示例可能是会话变量或查询或表单请求或任何其他数量的事物。

在VB中我可以说

Function myMethod(myArg as String) as Variant
    myMethod=DoSomething(myArg)
End Function


抱歉,如果原始帖子不是很清楚。我希望这更有意义。

谢谢

最佳答案

public T MyMethod<T>(string myArg)
{
 //do work here
}


用法

  public T MyMethod<T>(string myArg)
    {
        return (T)Convert.ChangeType(DoSomething(myArg), typeof(T));
    }


有点工程化;)

关于c# - 如何从方法返回变量数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1822889/

10-12 12:31