【发布时间】:2016-02-26 00:07:06
【问题描述】:
有几个功能几乎相同(或者不同的部分可以很容易地使用类型参数来实现)。但是,每个函数调用不同的TryParse() 函数有一个区别。
void Fun1<T>(T p) where T : IBase // simplified
{ ......
int x;
if(int.TryParse(p.S, out x)) { .... }
}
void Fun1<T>(T p) where T : IBase
{ ......
decimal x;
if(decimal.TryParse(p.S, out x)) { .... }
}
......
如何为这些函数创建一个带有 int、decimal、double、short 等类型参数的泛型方法(具有方法 TryParse 的任何类型)?
【问题讨论】:
-
不优雅,但可能是唯一可行的解决方案。
-
@dc7a9163d9 - 我添加了一个您可能会觉得有用的副本的答案:stackoverflow.com/a/35642400/259769
标签: c#