Overloadable unary operator expected
You have a unary operator that returns a value of another class. If you want this conversion, you need to do an implicit or explicit cast.
The following sample generates CS1019:
public class ii { int i { get { return 0; } } } public class a { public static ii operator ii(a aa) { // CS1019 // try either of the two following declarations // public static implicit operator ii(a aa) { // public static explicit operator ii(a aa) { return new ii(); } public static void Main() { } }