ECMA-334 C# Language Specification

13.4.1: Permitted user-defined conversions

C# permits only certain user-defined conversions to be declared. In particular, it is not possible to redefine an already existing implicit or explicit conversion. A class or struct is permitted to declare a conversion from a source type S to a target type T only if all of the following are true:

The restrictions that apply to user-defined conversions are discussed further in 17.9.3.