Muy a menudo nos hemos topado con que tenemos que convertir de un tipo de dato a otro , por ejemplo de int a decimal, float a short etc; pero podemos acaso convertir un objeto de tipo clase a uno de estos valores anteriores?, la respuesta es SI.
usando conversiones implícitas y con la ayuda de los operadores podemos llegar a solucionar este problema, bueno si podemos llamarle problema o mas bien le llamaremos herramienta que nos ayudara a hacer una vida mas placentera al momento de desarrollar nuestro software; dejare de parlotear tanto e iré a un ejemplo practico.
lo primero que vamos hacer es una clase la cual le llamaremos Empleados, dicha clase tendrá dos propiedades nombre de tipo string y edad de tipo int, en su constructor tendrá dos parámetros que asignaremos a las dos propiedades. Y para finalizar crearemos un operador publico-estático que regresa un entero en este caso la edad que contendrá como parámetro un objeto de tipo clase.
class Empleados
{
public int edad;
public string nombre;
public Empleados(int m_edad, string m_nombre)
{
edad = m_edad;
nombre = m_nombre;
}
public static implicit operator int(Empleados empleado)
{
return empleado.edad;
}
}
ahora vamos a ver como lo utilizamos.
Empleados emp = new Empleados(25, "fulanito");
int edad = emp;
string resultado = string.Format("Nombre: {0} , Edad :{1}", nombre, edad);
el resultado seria: Nombre: fulanito, Edad:25
usando conversiones implícitas y con la ayuda de los operadores podemos llegar a solucionar este problema, bueno si podemos llamarle problema o mas bien le llamaremos herramienta que nos ayudara a hacer una vida mas placentera al momento de desarrollar nuestro software; dejare de parlotear tanto e iré a un ejemplo practico.
lo primero que vamos hacer es una clase la cual le llamaremos Empleados, dicha clase tendrá dos propiedades nombre de tipo string y edad de tipo int, en su constructor tendrá dos parámetros que asignaremos a las dos propiedades. Y para finalizar crearemos un operador publico-estático que regresa un entero en este caso la edad que contendrá como parámetro un objeto de tipo clase.
class Empleados
{
public int edad;
public string nombre;
public Empleados(int m_edad, string m_nombre)
{
edad = m_edad;
nombre = m_nombre;
}
public static implicit operator int(Empleados empleado)
{
return empleado.edad;
}
}
ahora vamos a ver como lo utilizamos.
Empleados emp = new Empleados(25, "fulanito");
int edad = emp;
string resultado = string.Format("Nombre: {0} , Edad :{1}", nombre, edad);
el resultado seria: Nombre: fulanito, Edad:25
Comentarios
Publicar un comentario