You should probably override and implement something reasonable for TryConvert. It gets automatically called whenever you've got an implicit or explicit conversion, and having something reasonable happen there seems fundamental to me.