none
Непонятно поведение при наследовании интерфейса (проблема со свойством) RRS feed

  • Вопрос

  • Если создать интерфейс у которого будет свойство только с аксессором set, то ожидается, что в наследуемом классе можно будет реализовывать это свойство только с публичным set. Однако можно писать как set, так и get. Можно это как-нибудь исправить?

    Для примера, то что происходит:   
    interface IA
    {
     int MyProperty { get; }
    }
    
    class A : IA 
    { 
     private int myVar;
     public int MyProperty 
     {
      get { return myVar; }
      set { myVar = value; } // ???
     }
    }
    
    static void Main(string[] args) 
    {
      A a = new A();
    
      a.MyProperty = 1;   // прекрасно работает 
      Console.WriteLine(a.MyProperty);
    }
    

    Может я просто что-то не понимаю в принципе действия интерфейса? Рассудите пожалуйста)

    3 июня 2011 г. 18:32

Ответы