Привет,
Я только что преобразовал проект веб-сайта ASP.NET в Проект веб-приложения в VS 2010. После запуска приложения, похоже, что мой классовый полиморфизм сломался.Я понятия не имею, почему это может произойти.
Так что в следующем коде, когда я вызываю base.OnLoad (e), я получаю ошибки в базовом классе, потому что переменная myString равна нулю.Фактически все переменные для базового класса являются нулевыми.Я могу сделать
base.myString = this.myString;
до
base.OnLoad (e);
но мне это не кажется полиморфным.
Код:
public partial class FormA : Web.ClassB
{
protected override void OnLoad(EventArgs e)
{
myString = "TEST";
base.OnLoad(e);
}
}
public class ClassB
{
protected String myString;
protected override void OnLoad(EventArgs e)
{
// Class C has a virtual OnLoad method (not shown here)
}
}