17/06/08

Examen 70-536 Cap 1 Leccion 4

Boxing:
Convierte un Tipo por Valor , a un Tipo por referencia:

int i = 123;
object o = (object) i;


UnBoxing:

Asigna la referencia de un objeto a tipo por Valor:

object o = 123;
int i = (int) o;

Metodos de Conversión Explicita:
Tipo VB C# Conversión
System.Convert     Entre Tipos que implementar la interface IConvertible
  Ctype type Entre Tipos que definen operaciones de conversión
type.ToString
type.Parse
    Entre cadenas y tipos base , lanza una Excepción si no es posible.
  CBool,
CStr,CInt,
  Entre Tipos de Base de VB, Solo en VB
  DirectCast
TryCast
  Entre tipos que implementar una interface ó Herencia en ComunSolo, en VB
Implementar Conversión de Tipos Personalizados:

struct TypeA

{

{
public int Value;
// Permite conversión implicita a un entero

public static implicit operator TypeA(int arg)
{
TypeA res = new TypeA();
res.Value = arg;
return res;
}
/

public static explicit operator int(TypeA arg)
{
return arg.Value;
}
// Convierte a Cadena (Boxing)

public override string ToString()
{
return this.Value.ToString();
}
}

}


TypeA a; bool b;
a = 42;
// Convirtiendo a Booleano
b = Convert.ToBoolean(a);
Console.WriteLine("a = {0}, b = {1}", a.ToString(), b.ToString());

Muchas Gracias
seguiremos...
Jose Fabricio Rojas