powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Статический метод в классе
8 сообщений из 8, страница 1 из 1
Статический метод в классе
    #38586210
Thor234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Ребят подскажите такой момент на очень простом примере:
Есть класс BaseClass у него есть статический метод GetInstance возвращающий экземпляр
Код: c#
1.
2.
3.
4.
        public static BaseClass GetInstance()
        {
            return new BaseClass();
        }


От этого класса у меня есть наследники FirstClass, SecondClass.
Можно ли без переопределения в потомках модифицировать метод базового класса таким образом, чтобы он возвращал экземпляр текущего класса, а не базового. Например есть я унаследую BaseClass классом FirstClass, то при вызове FirstClass.GetInstance он вернет мне экземпляр типа FirstClass, так же и с SecondClass - вернет экземпляр типа SecondClass
...
Рейтинг: 0 / 0
Статический метод в классе
    #38586215
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Thor234,
нет, родитель ничего не должен знать о потомках
...
Рейтинг: 0 / 0
Статический метод в классе
    #38586265
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Элементарно:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public abstract class BaseClass<T> where T : class, new()
{
	public static T GetInstance()
	{
		return new T();
	}
}

public class Test : BaseClass<Test>
{
}
...
Рейтинг: 0 / 0
Статический метод в классе
    #38586310
Thor234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PallarisThor234,
нет, родитель ничего не должен знать о потомках
А мне и не нужно, в родителе знать о потомках. Смысл таков, что вызываем в BaseClass - получаем экземпляр BaseClass, вызываем в FirstClass - получаем экземпляр FirstClass и тд
...
Рейтинг: 0 / 0
Статический метод в классе
    #38586402
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelouchЭлементарно:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public abstract class BaseClass<T> where T : class, new()
{
	public static T GetInstance()
	{
		return new T();
	}
}

public class Test : BaseClass<Test>
{
}

Где-то это я уже видел

Activator.CreateInstance<T> Method
...
Рейтинг: 0 / 0
Статический метод в классе
    #38586472
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

ну тут то синглтон не требуется, можно и открытый конструктор потребовать )
...
Рейтинг: 0 / 0
Статический метод в классе
    #38586506
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

сори, думал вы имеете в виду давнишний спор про синглтон)
...
Рейтинг: 0 / 0
Статический метод в классе
    #38586567
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Статический метод в классе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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