Code:
C#public interface IBase
{
bool IsAvailable { get; }
}
public class Base : IBase
{
public bool IsAvailable => false;
}
public class FirstDescendant : Base
{
}
public class SecondDescendant : IBase
{
public bool IsAvailable => false;
public void <caret>Eat() { }
}
Result:
C#public interface IBase
{
void Eat();
bool IsAvailable { get; }
}
public class Base : IBase
{
public void Eat()
{
throw new NotImplementedException();
}
public bool IsAvailable => false;
}
public class FirstDescendant : Base
{
public void Eat() // <- 'hides inherited member' compiler warning
{
throw new NotImplementedException();
}
}
public class SecondDescendant : IBase
{
public bool IsAvailable => false;
public void Eat() { }
}