ica*_*tan 4 c# static function
我正在开发一个中等规模的项目,其中的表现非常重要.我找不到(实际上无法理解)静态和扩展函数之间的区别.
例如:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
使用这些函数仅在其实例上调用扩展函数:
您更喜欢使用哪一种,或者更喜欢使用哪种?为什么?
谢谢 !
将有没有在性能上的差异-以延长方法的调用
var result = foo.MyTransform(rotation);
Run Code Online (Sandbox Code Playgroud)
将简单地由编译器转换为:
var result = My.MyTransform(foo, rotation);
Run Code Online (Sandbox Code Playgroud)
现在,并不是说扩展方法应该在任何地方使用- 但看起来这是一个合适的用例,除非你实际上可以使它成为Rotation上的实例方法:
var result = rotation.Apply(foo);
Run Code Online (Sandbox Code Playgroud)
(顺便说一句,我强烈建议您重新考虑您的名字,以遵循.NET命名约定.)
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |