Я создал новое консольное приложение .NET Core 3.1 со следующим кодом:
Код: Выделить всё
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var xxx = new MyClass { MyInt = 5 };
Console.WriteLine(xxx.GetItNow());
}
}
public interface ITest
{
int MyInt { get; set; }
int GetItNow() => MyInt * 2;
}
public class MyClass : ITest
{
public int MyInt { get; set; }
}
}
Myclass не содержит определения GetItNow()...
Итак, компилятор доволен тем фактом, что MyClass не ссылается явно на GetItNow() (он не жалуется, что MyClass не реализует интерфейс). Но он не рассматривает член интерфейса по умолчанию как открытый метод класса, реализующего интерфейс.
Я что-то упустил или что-то сломано?
Подробнее здесь: https://stackoverflow.com/questions/617 ... to-compile
Мобильная версия