There will be no difference in performance - calling the extension method
var result = foo.MyTransform(rotation);
will be simply converted by the compiler to:
var result = My.MyTransform(foo, rotation);
Now, not to say that extension methods should be used everywhere, but it looks like this is a suitable use case, unless you could make it an instance method when rotating:
var result = rotation.Apply(foo);
(As an aside, I urge you to redefine your names to follow the .NET naming conventions.)
source share