Tengo una interfaz que IResourcePolicy
contiene la propiedad Version
. Tengo que implementar esta propiedad que contiene valor, el código escrito en otras páginas:
IResourcePolicy irp(instantiated interface)
irp.WrmVersion = "10.4";
¿Cómo puedo implementar la propiedad version
?
public interface IResourcePolicy
{
string Version
{
get;
set;
}
}
Respuestas:
En la interfaz, especifique la propiedad:
En la clase de implementación, debe implementarlo:
Esto se ve similar, pero es algo completamente diferente. En la interfaz, no hay código. Simplemente especifica que hay una propiedad con un captador y un establecedor, independientemente de lo que hagan.
En la clase, en realidad los implementas. La forma más corta de hacerlo es usar esta
{ get; set; }
sintaxis. El compilador creará un campo y generará la implementación getter y setter para él.fuente
Version
es público en la clase? Ahh, veo mi problema: si implementa la interfaz explícitamente (por ejemploIResourcePolicy.Version
, no puede definir si es pública.)¿Quieres decir así?
fuente
Las interfaces no pueden contener ninguna implementación (incluidos los valores predeterminados). Necesitas cambiar a la clase abstracta.
fuente
El ejemplo simple de usar una propiedad en una interfaz:
fuente
Respuesta de J.Random Coder e inicializar el campo de versión.
fuente
Debe usar la clase abstracta para inicializar una propiedad. No se puede iniciar en Inteface.
fuente