public class A {} >public class B >{ > public static implicit operator B(A a) { return new B(); } > public static implicit operator C(B b) { return new C(); } >} >public class C {}Would you find a statement like this too opaque:
C c = (B)new A();
Yes (assuming this convention isn't used a lot in the code). I wouldn't have a clue as to why that was working (and I'd probably be annoyed that had to dig through the class to figure out what it was doing/why it worked). But if it's used a lot in the code and made the overall code more readable, then all is forgiven <g>