我不是说超载。这可能包括我尚未创建的新Type
类。
编辑:
我想创建一个方法,它将返回它作为参数获取的类型的值。我可以得到object
类型的参数,但我不希望以那种方式返回然后进行转换,我希望返回值本身与参数的类型相同。
答案 0 :(得分:8)
你可以使用反射:
var returnType = typeof(SomeClass).GetMethod("SomeMethodName").ReturnType;
答案 1 :(得分:3)
您可以创建一个返回要确定的类型的泛型方法。只要你正确地声明你的新类,那么它们应该可以工作。
有很多方法可以做到这一点,搜索return generic type c#会出现几种不同复杂程度的技术。从根本上说,你有:
public T DoStuff<T>()
{
...
}
然而,“......”取决于您的应用程序。
答案 2 :(得分:2)
根据您的更新,您想要的方法如下:
public T MyMethod<T>(T input)
{
// DoSomething
T result = default(T); // Create your instance of T here
return result;
}
答案 3 :(得分:0)
是的,它被称为reflection。
这应该回答您的问题:http://msdn.microsoft.com/en-us/library/system.reflection.methodinfo.returntype.aspx
答案 4 :(得分:0)
您可以使用泛型类型和泛型方法来执行此操作 C# Generic Methods