¿Qué es una llamada explícita en C#? ¿Qué es una llamada implícita?
Namespace MyInface
{
//Las interfaces de visualización solo se pueden llamar con interfaces.
//Se pueden llamar interfaces y clases implícitas.
Interfaz pública IBookList
{
void Add(string BookName);
void Append(string BookName);
p>
void Remove(int position);
int Count { get}
string this[int index]{ get;set;}
}
//Llamada implícita
Lista de libros de cursos públicos: IBookList
{
Lista de distribución personal & lt string & gtbooklist = nueva lista & ltString& gt();
#Miembros de la lista regional de libros
Public void Add(String BookName)
{
Lista de libros. Add(BookName);
}
Public void Append(String BookName)
{
Lista de libros. Insertar (Libro. Recuento, Nombre del Libro);
}
Eliminar vacío público (posición media)
{
Lista de libros. RemoveAt(position);
}
Recuento de int públicos
{
Obtener
{
Volver a la lista de libros. Count;
}
}
Cadena pública this[int index]
{
Obtener p>
{
Volver a bibliografía [índice];
}
Configuración
{
lista de libros[índice]= valor;
}
}
#Área final
}
/ /Indica que llamar a esta clase solo se puede llamar a través de la interfaz.
Abrir lista de libros del curso 2: IBookList
{
Lista de distribución personal & lt string & gtbooklist = new List & lt string & gt();< / p>
#Miembro de la lista regional de libros
Invalidar IBookList. Agregar (String BookName)
{
Lista de libros. Agregar (nombre del libro);
}
Invalidar IBookList. Append(String BookName)
{
Lista de libros. Insertar (Libro. Recuento, NombreLibro);
}
Invalidar IBookList. Quitar (posición media)
{
Lista de libros. Eliminar(Position.ToString());
}
int IBookList. Contar
{
Obtener
{
Volver a la lista de libros.
Contar;
}
}
cadena IBookList.this[int index]
{
obtener
{
Volver a bibliografía [índice]
}
Configuración
{
lista de libros[índice]= valor;
}
}
#Área final
}
Texto de categoría
{
Estático vacío main()
{
//Llamada implícita.
lista de libros bk = nueva lista de libros();
lista de libros bk add(" implícito "); Write("Ejemplo de implementación de una interfaz implícita: usando la clase: {0} ", bk list[0]);
ibook list ibk list =(ibook list)bk list //Después de cambiar el tipo, También se le asigna el contenido del enlace.
Ibklist. add(" $ $ $ $ $ $ $ $ $ implícito "); //El índice aquí es el segundo.
Consola. Write("Ejemplo de implementación de una interfaz implícita: usando la interfaz {0}", ibk list[1]);
//Solo puedes usar la interfaz para realizar llamadas explícitas.
lista de libros 2 bk lista 2 = nueva lista de libros 2();
//If bklist2. Utilice Add("show") directamente; esto sería un error. Por ejemplo:
//Solo de la siguiente manera:
lista ibook Ibk = (lista ibook)bk lista 2;
Ibk. Add("$$$$ $$display interface"); //Agrega la consola usando la interfaz
. Write("Ejemplo de implementación de la interfaz de visualización: usando la interfaz {0}", Ibk[0]); //Llamar usando la interfaz.
Consola. ReadLine();
}
}
}