ECMA 334 section 13.4.3 User-defined implicit conversions states that D, the
set of types from which user-defined conversion operators will be considered,
includes (among other things) the base classes of T (if T is a class).
Why are the base classes of T considered at all?
Lets say that BT is a base class of T. "BT BT.op_Implicit(X)" is unsuitable
for an implicit conversion to T because it returns BT, which can't be
implicitly converted to T. Similarly, "X BT.op_Implicit(BT)" is unsuitable
because it returns X, which can't be derived from BT, and can't be an
interface.
Can you think of an example of a set of classes and conversions where an
implicit conversion operator, implemented in BT, would be used?
Thanks,
Aaron.