如何在 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"...