Usecases for method hiding using new
<p>This is more or less an exact duplicate of <a href="http://stackoverflow.com/questions/3117838/why-do-we-need-the-new-keyword-and-why-is-the-default-behavior-to-hide-and-not-ov">this post</a>, but as I cannot edit it, I started this. Feel free to move something over and close this one.</p>

<p>Using method hiding with new seems like a dangerous feature, and given the discussion in the other thread, it seems it's not only I who have problems finding a valid use case for this. Any methods accepting Base won't use Derived's Method.</p>

<pre><code>public class Base
{
    public void Method()
    {
        Console.WriteLine("Base");
    }
}

public class Derived : Base
{
    public new void Method()
    {
        Console.WriteLine("Derived");
    }
}

var derived = new Derived();
derived.Method(); // "Derived"
((Base)derived).Method(); // "Base"
</code></pre>

<p>So what are some valid use cases for new that is difficult to solve with other features?</p>
