public class Foo
{
public string Test()
{
return GetName();
}
public string GetName()
{
return "Foo";
}
}
public class Bar : Foo
{
public new string GetName()
{
return "Bar";
}
}
new Foo().Test(); // Foo
new Bar().Test(); // also Foo
Я пытался создать «обертку» для Foo
, чтобы можно было модульно протестировать поведение Test()
, когда GetName()
выдает неожиданные значения.Я не могу напрямую влиять на поведение GetName()
в Foo
, поскольку оно зависит от событий конвейера ASP.NET.вернуть «Бар», но, очевидно, я неправильно понял модель наследования.
Есть ли способ достичь того, что мне нужно?