 <p>You could do something like this:</p> <pre><code>public class MyString { public static implicit operator string(MyString ms) { return "ploeh"; } } </code></pre> <p>The following unit test succeeds:</p> <pre><code>[TestMethod] public void Test5() { MyString myString = new MyString(); string s = myString; Assert.AreEqual("ploeh", s); } </code></pre> <p>In general however, I don't think this is a sign of good API design, because I <strong>prefer explicitness instead of surprises</strong>... but then again, I don't know the context of the question...</p>