У меня от этого мозг ломается. В моей картине мира виртуальной функция Test должна быть только в классе M.
using System;
class program
{
static void Main(string[] args)
{
int sum = 0;
sum += new Base1().Test();
sum += new Base2().Test();
Console.WriteLine(sum);
}
}
class Base1
{
public int Test()
{
var m = typeof(Base1).GetMethod(nameof(Test));
return m.IsVirtual ? 1 : 0;
}
}
class Base2
{
public int Test()
{
var m = typeof(Base2).GetMethod(nameof(Test));
return m.IsVirtual ? 1 : 0;
}
}
interface I { int Test(); }
class M : Base2, I { }
Что надо сделать, чтобы на экран был выведен 0 ? (Не меняя исходного кода)