title: What is the usage of private static method in c#?
body: <p>I have a public class called <code>MyClass.cs</code>. It has 3 methods: </p>
  
  <pre><code> public class MyClass
   {
      public IEnumerable&lt;MyDto&gt; PublicA(bool useCache = true)
      {
      //Call an external resource
      //some code
      }
  
      public IEnumerable&lt;AnotherDto&gt; PublicB()
      {
      //some code
      var x= MyPrivateMethod(input);
      //some code
      }
  
      private IEnumerable&lt;AnotherDto&gt; MyPrivateMethod(IEnumerable&lt;SomeDto&gt;)
      {
      //return Mapped data from IEnumerable&lt;SomeDto&gt; to  IEnumerable&lt;AnotherDto&gt;
  
      }
   }
  </code></pre>
  
  <p>I use ReSharper as a refactoring tool. It suggests using <code>static</code> for <code>MyPrivateMethod</code>.  </p>
  
  <pre><code>private static IEnumerable&lt;AnotherDto&gt; MyPrivateMethod(IEnumerable&lt;SomeDto&gt;)
  </code></pre>
  
  <p>But what is the usage of this keyword, here? Since the method is private and will not be used in other class that want to use an instance of MyClass.</p>
  
  <p>I tested and found out that, when I use the static keyword for <code>MyPrivateMethod</code>, I can not call any other methods of the class that are NOT private static. But yet I don't know what is the usage? Is there any benefit on storage or time optimization, for example?</p>