私はperformansが本当に重要な中規模のプロジェクトを開発しています。私は静的関数と拡張関数の違いを見つけることができませんでした(実際には理解できません)。拡張機能または静的機能?
例えば:
public static class My
{
public static Vector2 MyTransform(this Vector2 point, float Rotation)
{
//....
return MyVector;
}
public static Vector2 MyTransform(Vector2 point, float Rotation)
{
//....
return MyVector;
}
}
これらの機能が使用されるのと同じだけの拡張機能は、そのインスタンスに呼び出される:
- ベクトル2 CALC = myVector.MyTransform(0.45f)。
- ベクトル2 CALC = My.MyTransform(myVector、0.45f)
はあなたが使用することを好むか、または使用することを好ま、なぜされている1?
ありがとうございます!
これを書いているなら、 'My'ではなく' Vector2'に 'MyTransform()'を書きませんか? – StuperUser
機能に違いはありません。それは、あなたが関数をどのように呼び出すかに関する個人的な好みです。拡張関数は両方向に呼び出すことができますが、通常の静的関数は片方向にしか呼び出せません。 – Gabe
このメソッドがVector2のインスタンスを必要とする場合、なぜそれは 'static'ですか? – StuperUser