Duplicar posible:
Casting vs using the ‘as’ keyword in the CLREmitir luego verificar o verificar y luego emitir?
¿Qué método se considera como una buena práctica?
Reparto primero?
public string Describe(ICola cola)
{
var coke = cola as CocaCola;
if (coke != null)
{
string result;
// some unique coca-cola only code here.
return result;
}
var pepsi = cola as Pepsi;
if (pepsi != null)
{
string result;
// some unique pepsi only code here.
return result;
}
}
¿O debería comprobar primero, emitir luego?
public string Describe(ICola cola)
{
if (cola is CocaCola)
{
var coke = (CocaCola) cola;
string result;
// some unique coca-cola only code here.
return result;
}
if (cola is Pepsi)
{
var pepsi = (Pepsi) cola;
string result;
// some unique pepsi only code here.
return result;
}
}
¿Puedes ver alguna otra forma de hacer esto?
Ver la respuesta perfecta http: // stackoverflow.com/a/496167/52277 para una pregunta similar –