entiendo cómo escribir una interfaz funciona en C#, como se describe, por ejemplo aquí: codeguru explanation¿Qué es fundición de interfaz para C#?
interface IIntelligence
{
bool intelligent_behavior();
}
class Human: IIntelligence
{
public Human()
{
//.............
}
/// Interface method definition in the class that implements it
public bool intelligent_behavior()
{
Console.WriteLine("........");
return true
}
}
Sin embargo, estoy confundido sobre el siguiente proceso de fundición de interfaz:
Human human = new Human();
// The human object is casted to the interface type
IIntelligence humanIQ = (IIntelligence)human;
humanIQ.intelligent_behavior();
Cuál es el sentido de tener una clase (Humanos en este caso) implementar una interfaz, y luego emitir su instancia humana de nuevo a la interfaz? La pregunta no es cómo funciona, pero por qué está hecho.
Podría suceder, supongo que harías un 'baseObject is IInterface' para verificar. Es curioso que el parámetro del método ya no esté escrito en 'IInterface'. – Jodrell