我注意到,可以定义一个自定义类,然后在其中一些类上使用诸如+、-、/和*之类的运算符,而不是使用方法。例如,我创建了一个执行复杂矩阵代数/微分的矩阵类,并创建了它,以便所有操作都由以下方法控制:
Matrix m1 = new Matrix(new double[][] { /* Some data */ });
Matrix m2 = new Matrix(new double[][] { /* Some other data */ });
// Returns a new Matrix object equal to the result
m1 = m1.Multiply(m2);
m1 = m1.Add(m2.Inverse);
m1 = m1.Subtract(m2.Determinant);
m1 = m1.ApplyToCombinator(new AlgebraMatrix(new string[][] { /* Some data *. }));
不过,看了之后
This CodeProject Page
以及在使用XNA框架之后(
Position = Speed * (float)gameTime.ElapsedTime.TotalSeconds;
在哪里
Vector2
对象正被乘以
float
使用
*
,您可以使用+、-、/和*代替。
那么,我该如何更改我的类,这样我就可以简单地键入下面的代码来完成与上面相同的工作呢?
m1 = m1 * m2 + m2.Inverse - m2.Determinant;
事先谢谢。