如何在方法中使用Generic类型作为C#中的返回类型

时间:2015-03-13 17:43:50

标签: c# generics

如何返回如下所示的整数?

    public T Test<T>()
    {   
        //return 999;
        //return (RT)999;
        //return 999 as RT;
    }

这些回归都不起作用,他们都在抱怨无法成为或转换为该泛型类型。如何注入要返回的类型以便设计时间不会抱怨?

当然这可行,但必须始终返回一个整数。我不想总是返回一个整数而我不想返回对象类型。

    public int Test()
    {
        return 999;       
    }

2015年3月15日由于认为问题不明确,这个问题被搁置了......这个问题怎么不明确?

2 个答案:

答案 0 :(得分:2)

public RT Test<RT>()
{
    object value = 999;
    return (RT)value;
}

答案 1 :(得分:0)

不知道你希望方法实际完成什么,这样的事情怎么样......

private void button3_Click(object sender, EventArgs e)
{
    int i = -8;
    int j = MyGenericMethod<int>(i);

    string s = MyGenericMethod<string>("Testing");
}

private T MyGenericMethod<T>(T input)
{
    // Do something to input

    return input;
}

或者您可以将输入作为参考参数传递,而不需要返回类型。

相关问题