直接加where约束——where T:struct(任何值类型都可以用作类型实参)。以后想改动该一下where字句就行。
private static T Sum<T>(T num1,T num2) where T : struct { dynamic v1 = num1; dynamic v2 = num2; return (T)(v1 + v2); }
考虑任意数值类型的累加器的实现,代码如下:
T Sum<T> (params T [] numbers) where T:struct { double total =0; foreach (var value in numbers) total = total + Double.Parse(value.ToString()); return (T)Convert.ChangeType(total,typeof(T)); }
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!
本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:


