class Base
{
public void Foo() { }
}
class Generic<T> where T : Base
{
public void Bar(T obj)
{
obj.Foo();
}
}
Select method 'Foo' and apply 'Push members down'. Select 'make abstract'.
class Base
{
public abstract void Foo(); /* error CS0513: 'Base.Foo()' is abstract but it is contained in nonabstract class 'Base' */
}
class Generic<T> where T : Base
{
public void Bar(T obj)
{ obj.Foo(); } }
}
Expected result:
abstract class Base
{
public abstract void Foo();
}