如何在 return 多种类型的方法中注入 return 类型?
How do I inject a return type in a method that returns multiple types?
public T SomeMethod<T>(){
if(somecondition==something) return 999;
if(somecondition==somethingelse) return "String";
}
问题是这两个 return 语句都会收到设计时错误,表明它们不是 T 类型。
调用方代码如下所示。
int ID = SomeMethod<int>();
string StringVaule = SomeMethod<string>();
问题的答案是:
return (T)(object) 999;
或
return (T)(object) "String";
我称之为"double cast"...
public T SomeMethod<T>(){
if(somecondition==something) return 999;
if(somecondition==somethingelse) return "String";
}
问题是这两个 return 语句都会收到设计时错误,表明它们不是 T 类型。
调用方代码如下所示。
int ID = SomeMethod<int>();
string StringVaule = SomeMethod<string>();
问题的答案是:
return (T)(object) 999;
或
return (T)(object) "String";
我称之为"double cast"...