powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / наследование и статические переменные
1 сообщений из 1, страница 1 из 1
наследование и статические переменные
    #34034359
AreneV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть базовый класс и два наследника от него.
как объявить переменную, которая хранила бы свое значение для каждого класса и была общей для их экземпляров
другими словами как бы в базовом классе объявить "статическую" переменную и заставить переопределить ее в каждом из наследников.
то, что статические члены классов нельзя определять как virtual, abstract знаю, поэтому и переопределить ее не удасться, возможно только объявить в наследниках переменную с таким же именем, используя слова new/hide, но вот как это гарантировать, может быть есть какие-нибудь аттрибуты или еще что, а может быть есть вообще другой вариант решения этой проблемы.

ниже приведу пример того, что хотелось бы чтобы было

class Base
{
virtual protected static string name = "Base";

virtual public static string Name
{
get { return name; }
}
}


class Derived1: Base
{
override protected static string name = "Derived1"

override public static string Name
{
get { return name != null ? name : base.name; }
}
}

class Derived2: Base
{
override protected static string name = null;

override public static string Name
{
get { return name != null ? name : base.name; }
}
}

Base.Name; // вернет "Base"
Derived1.Name; // вернет "Derived1"
Derived2.Name; // вернет "Base"
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / наследование и статические переменные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]