我正在开发一个中型项目,其中performans非常重要。我无法找到(实际上无法理解)静态函数和扩展函数之间的区别。扩展或静态功能?
e.g:
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;
}
}
这些功能用于只相同扩展函数被调用超过它的实例:
- Vector2计算值= myVector.MyTransform(0.45f);
- Vector2计算值= My.MyTransform(myVector,0.45f)
哪一个你更喜欢使用,或者是首选使用,为什么?
谢谢!
如果你正在写这个,为什么不在`Vector2`而不是`My`中写`MyTransform()`? – StuperUser 2011-12-14 13:37:11
功能没有区别。这只是您想要调用函数的个人偏好。一个扩展函数可以同时调用,而一个常规的静态函数只能以一种方式调用。 – Gabe 2011-12-14 13:37:23
如果这个方法需要Vector2的一个实例,为什么它是`static`? – StuperUser 2011-12-14 13:56:48