A proper way of defining methods strongly connected to the interface
<p>I have a following interface:</p>

<pre><code>interface IName
{
    string Name { get; }
}
</code></pre>

<p>And some base class BaseClass. Childs of this class may implement IName interface, but not all of them do.</p>

<p>If a Child implements IName, I would also like to override ToString() method, exactly the same way for all cases, as follows:</p>

<pre><code>public override string ToString()
{
    return Name;
}
</code></pre>

<p>It seems that a good place for overriding ToString() would be in IName interface, but i believe that it is not possible in C#.
Implementing ToString() in every class seems a bad idea too, because it's a lot of code redundancy (and a waste of time).</p>

<p>What is a proper solution for a case like this?</p>