csharp 运算符重载与动态绑定
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 运算符重载与动态绑定相关的知识,希望对你有一定的参考价值。
public static Finch operator +(Finch oldvalue, dynamic value)
{
checked
{
if (value is Finch)
{
Finch newValue = value as Finch;
oldvalue.Feet += newValue.Feet;
oldvalue.Inches += newValue.Inches;
return oldvalue;
}
else //try if its a fraction
{
decimal d;
try
{
d = Convert.ToDecimal(value); // when conversion fails
// it throws exception in runtime
}
catch
{
throw;
}
oldvalue.Feet += Convert.ToInt32(Decimal.Truncate(d));
var thisval = Math.Abs(oldvalue.feet - d);
oldvalue.Inches += (int)(.83f / Convert.ToSingle(thisval));
return oldvalue;
}
}
}
以上是关于csharp 运算符重载与动态绑定的主要内容,如果未能解决你的问题,请参考以下文章