ฉันมักจะลืมวิธีการทำเช่นนี้เมื่อฉันต้องการมันดังนั้นฉันจึงเขียนวิธีการขยายสองสามวิธี
public static Vector2 PerpendicularClockwise(this Vector2 vector2)
{
return new Vector2(vector2.Y, -vector2.X);
}
public static Vector2 PerpendicularCounterClockwise(this Vector2 vector2)
{
return new Vector2(-vector2.Y, vector2.X);
}
และเป็นหน่วยทดสอบ
[Test]
public void Vector2_Perpendicular_Test()
{
var a = new Vector2(5, -10);
var b = a.PerpendicularClockwise();
var c = a.PerpendicularCounterClockwise();
Assert.AreEqual(new Vector2(-10, -5), b);
Assert.AreEqual(new Vector2(10, 5), c);
}