如何创建一个需要TAvg的泛型方法来实现Operator +? [英] How to create a generic method, that requires TAvg, to implement Operator + ?
本文介绍了如何创建一个需要TAvg的泛型方法来实现Operator +?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨
我写的方法如下:
Hi
I'm write a method as follows:
public static TAvg Avg<tavg>(TAvg a, TAvg b)
{
return (a + b)/2;
}
但是怀疑的错误:'运营商'+'不能应用于操作数输入' TAvg
'和' TAvg
'。',我见过。
这是我的问题。
我的问题是:
如何创建一个通用方法,需要 TAvg
,以实现Operator +?
But the error with a suspect: 'Operator '+' cannot be applied to operands of type 'TAvg
' and 'TAvg
'.', I've witnessed.
This was my problem.
And my question is:
How to create a generic method, that requires TAvg
, to implement Operator + ?
推荐答案
使用动态:< br $> b $ b
Use dynamic:
return ((dynamic)a + (dynamic)b)/2;
如果在运行时没有为这两种类型定义+运算符,那将抛出异常。
Which will throw an exception if the "+" operator is not defined at runtime for the two types.
感谢您的帮助。
工作
Thanks for help to me.
Worked
public static TAvg Avg<TAvg>(TAvg a, TAvg b)
{
var result =(TAvg)(((dynamic) a + (dynamic) b) / 2);
return result;
}
这篇关于如何创建一个需要TAvg的泛型方法来实现Operator +?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文