Implicit string cast not working
===

Consider a class like this:

    public class MyString
    {
     private string _string;
    
     public string String
     {
      get { return _string; }
      set { _string = value; }
     }
    
     public MyString(string s)
     {
      _string = s;
     }
    
     public static implicit operator string(MyString str)
     {
      return str.String;
     }
    
     public static implicit operator MyString(string str)
     {
      return new MyString(str);
     }
    }

How do I make the following code work?

    MyString a = "test";
    object b = a;
    var c = (string)b;

Now I get this exception:

> **InvalidCastException: Unable to cast object of type 'MyString' to type 'System.String'.**
