c# - tutorial - windows forms c++ visual studio 2017
¿Por qué el compilador de C#no permite a los establecedores de propiedad privada en las interfaces? (1)
En cierto escenario, como un modelo de vista MVVM, a veces necesito tener un configurador privado ya que el modelo de vista expone un estado que solo puede modificarse internamente.
Entonces, ¿es esto incorrecto necesitar un setter privado en una interfaz? (y me refiero a no particularmente en el escenario descrito) Si no, ¿por qué el compilador de C # no lo permite?
Gracias.
Por definición, una interfaz es un contrato para el uso de otro código, no para miembros privados. Sin embargo, puede especificar propiedades de solo lectura en interfaces e implementar un configurador privado en la clase concreta:
public interface IFoo
{
string MyReadonlyString { get; }
}
public class FooImplementation : IFoo
{
public string MyReadonlyString { get; private set; }
}