静态与非静态方法
收藏

假设您有一个可以在非静态类中设为静态的方法。 例如:

private double power(double a, double b)
    {
        return (Math.Pow(a, b));
    }

您看到将方法签名更改为静态有什么好处吗?在上面的示例中:

private static double power(double a, double b)
    {
        return (Math.Pow(a, b));
    }

即使有一些性能或内存增加,编译器也不会将它作为编译时的简单优化来做吗?

编辑: 知道

最佳答案

请注意,由于编译器会更改方法的签名,因此极不可能允许您代表您进行更改。结果,一些经过精心设计的反射(如果您使用的是反射)可能会停止工作,并且编译器实际上无法确定是否是这种情况。

    公众号
    关注公众号订阅更多技术干货!