Suppose you have some method that could be made static, inside a non-static class.
For example:

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

Do you see any benefit from changing the method signature into static? In the example above:

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

Even if there is some performance or memory gain, wouldn't the compiler do it as a simple optimization in compile time?


Edit: What I am looking for are the benefits by declaring the method as static. I know that this is the common practice. I would like to understand the logic behind it.
And of course, this method is just an example to clarify my intention.

Edit
Report