Я заметил, что можно определить собственный класс, а затем использовать операторы, такие как +, -, / и *, для ряда из них, а не использовать методы для этого. Например, я создал класс Matrix, который выполняет сложную матричную алгебру / дифференцирование, и создал его так, чтобы все операции контролировались методами:
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 *. }));
Однако, взглянув на на этой странице CodeProject и после использования платформы XNA (Position = Speed * (float)gameTime.ElapsedTime.TotalSeconds;
, когда объект Vector2
умножается на float
с использованием *
), вы можете используйте вместо этого +, -, / и *.
Так как мне изменить свой класс, чтобы я мог просто ввести следующий код, чтобы сделать то же самое, что и выше?
m1 = m1 * m2 + m2.Inverse - m2.Determinant;
Заранее спасибо.