La interfaz proporciona métodos que convierten el valor de una instancia de un tipo de implementación en un tipo de Common Language Runtime con un valor equivalente. Los tipos de Common Language Runtime son Boolean, SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, Double, Decimal, DateTime, Char y String.
Si no se produce una conversión significativa en un tipo de Common Language Runtime, la implementación de un método de interfaz concreto produce InvalidCastException. Por ejemplo, si esta interfaz se implementa en un tipo booleano, la implementación del método ToDateTime produce una excepción porque no existe ningún tipo DateTime significativo que sea equivalente a un tipo booleano.
Normalmente, Common Language Runtime expone la interfaz IConvertible a través de la clase Convert. Common Language Runtime también utiliza internamente la interfaz IConvertible, en las implementaciones de interfaces explícitas a fin de simplificar el código utilizado para admitir las conversiones en la clase Convert y los tipos básicos de Common Language Runtime.
Además de la interfaz IConvertible, .NET Framework proporciona clases denominadas convertidores de tipos para convertir los tipos de datos definidos por el usuario en otros tipos de datos. Para obtener más información, vea el tema Conversión de tipos generalizada.