Cuando tenemos un objeto de tipo object y sabemos cual es su
verdadero tipo, tenemos que convertirlo al tipo que es, para eso utilizamos un
cast, ahora bien hay dos maneras de hacer un cast en c#, pero antes de eso
tenemos que hacer una clase de ejemplo.
Se las pongo a continuación.
public
class Punto
{
public int X { get; set; }
public int Y { get; set; }
public Punto()
{
}
public Punto(int x, int y)
{
this.X = x;
this.Y = y;
}
}
Y supongamos que a nosotros nos llega un objeto, ya sea por
medio de un sender o por medio de cualquier otro procedimiento.
object punto = new Punto(1,1);
en algún momento nuestro objeto punto fue instanciado como
object, o nos llego a nosotros como object.
Si queremos accesar a nuestras propiedades X o Y del objeto punto, no nos aparecerán ya que es de
tipo object.
Volviendo al tema de los cast, hay dos maneras de
realizarlos, recordando de un cast es como un molde que se adapta a la clase
que nosotros queramos.
La primer forma es antecediendo el tipo definido (nombreClase)nuestroObjecto
Y la otra es con la palabra reservada “as” nuestroObjeto as
nombreClase
Vean el siguiente ejemplo:
static
void Main(string[]
args)
{
object punto = new Punto(1,1);
Console.WriteLine(((Punto)punto).X);
Console.WriteLine((punto as
Punto).Y);
Console.ReadKey();
}
1era forma:
((Punto)punto).X
Los parentecis son para agrupar y poder accesar a nuestra propiedad
que nos interesa.
2da forma:
(punto as Punto).Y
0 comentarios:
Publicar un comentario