2012-01-21 68 views
1

看看UML图像。我有一个名为BinaryProblem的泛型类,它接收T值int long,decimal的两个值。但我决定添加一个新的分数类。是否可以添加运算符类?

enter image description here

假设我有一个叫加,。减去,多样信息及分割方式。我想要做这样的事情。

var a = new Fraction(1/2); 
var b = new Fraction(3/4); 
var c = a + b; // Fraction { Numerator = 5, Denominator = 4 } 

我知道,只能把一个条件,如果(x.GetType()== ...),但是,我相信以后我会添加其他类型,并避免重复一些代码。

我几乎忘了它,有可能在类型是通用的地方添加数字吗?

回答

3

听起来好像您正在尝试将运算符+添加到Fraction类型中。如果是的话请尝试以下

class Fraction { 
    public static Fraction operator+(Fraction left, Fraction right) { 
    return left.Add(right); 
    } 

    public static Fraction operator+(Fraction left, int right) { 
    var right = new Fraction(right); 
    return left.Add(right); 
    } 
} 
+0

这就是我想,但什么是'BinaryProblem '做呢? –

+0

@JaredPar哇,你多快!顺便说一下,我忘了写什么,可以在值类型是T的地方添加数字吗? –

+0

@JonathonReinhart不确定。正在等待OP向我纠正与问题相关的问题。虽然代码示例似乎直接调用了这个。 – JaredPar

相关问题