Static vs Instace method usage
<p>I have a class that has some methods, which I use in code. Their aim is to generate an object and return it for futher usage. I can implement it in two ways. The first way - is to make it static, like this:</p>

<pre><code>public static class Builder
{
    public static MyObject BuildMyObject(Settings myEnumSetting, int someParam)
    {
        //Building object 
        return MyObject;
    }

    //Other methods          
}
</code></pre>

<p>Other way - is to make it instance like this:</p>

<pre><code>public class Builder
{
    public MyObject BuildMyObject(Settings myEnumSetting, int someParam)
    {
        //Building object 
        return MyObject;
    }

    //Other methods          
}
</code></pre>

<p>In the first way can create my objects like this:</p>

<pre><code>MyObject obj = Builder.BuildMyObject(Settings.Worker,20);
</code></pre>

<p>In the second case I can use it like this:</p>

<pre><code>MyObject obj = new Builder().BuildMyObject(Settings.Worker,20);
</code></pre>

<p>Which of these approaches it more efficient for usage?</p>
