Re: default interface methods. Какой все же бред.
От: xpalex  
Дата: 19.12.22 01:20
Оценка: :)
C>

C> static void Main(string[] args)
C> {
C> var obj = new TestClass();
C> obj.Method(); // error
C> }

C> interface ITest
C> {
C> void Method()
C> {
C> }
C> }

C> class TestClass : ITest
C> {
C> }


  static void Main (string[]args)
  {
    var obj = new TestClass();
      obj.Method(); // error
  }
  interface ITest
  {
    void Method();
  }

  class TestClass:ITest
  {
      void ITest.Method() {}
  }


Есть пять областей видимости методов: public, protected, internal, private и реализации интерфейсов.
Вызывать у объекта мы можем только "видимые" методы. В вашем примере публичные.
Есть соглашение, что публичный метод с совпадающей сигнатурой может использоваться как метод реализации интерфейса.
Но почему решили, что должно быть верно обратное?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.