Re[3]: Помогите с ошибкой
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.04.18 15:03
Оценка: 6 (1)
Здравствуйте, kaa_t, Вы писали:

_>А можно как то отключить автоматическое создание методов?


Если реализуешь интерфейс, можно попробовать реализовывать все явно:
Dispose() : void implements System.IDisposable.Dispose { }

Тогда вроде оно его не должно переиспользовать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Помогите с ошибкой
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.04.18 08:13
Оценка: 1 (1)
Здравствуйте, kaa_t, Вы писали:

_>Помогите с ошибкой не могу понять чего хочет?


Это компилятор умничает и сам за тебя "Test(row : object) : void" реализует. Просто убери ее из своего кода.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Помогите с ошибкой
От: kaa_t Россия  
Дата: 02.04.18 06:38
Оценка:
Доброго дня.

Помогите с ошибкой не могу понять чего хочет?

 public interface I_Test
  {
    Test(row:object):void;

    Test(row:DataRow):void;
  }
  
  public class Testt:I_Test
  { 
    public Test(row : System.Data.DataRow) : void
    {
      _ = row;
    }
    public Test(row : object) : void // Тут ошибка: ambiguous implements-match for interface method(s): [ ... ] , please use explicit implementation
    {
      _ = row;
    }
  }
Re[2]: Помогите с ошибкой
От: kaa_t Россия  
Дата: 05.04.18 14:17
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Это компилятор умничает и сам за тебя "Test(row : object) : void" реализует. Просто убери ее из своего кода.


Все к базовому типу приводит


  public class X { }
  public class Y:X { }
  public class Z:X { }
  
  
  public interface I_Test
  {
    Test(row:DataRow):void;
    Test(row:int):void;
    Test(row:string):void;
    Test(row:DateTime):void;
    
    Test(row:object):void;

    Test(x:X):void;
    Test(y:Y):void;
    Test(z:Z):void;
  }
  
  public class Testt:I_Test
  { 
    public Test(row : object) : void {  _ = row; }
  }

  public interface I_Test2
  {
    Test(x:X):void;
    Test(y:Y):void;
    Test(z:Z):void;
  }
  
  public class Test:I_Test2
  { 
    public Test(row : X) : void {  _ = row; }
  }


А можно как то отключить автоматическое создание методов?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.