Как вернуть класс ребенка [дубликат]

226
06 февраля 2019, 19:30

На данный вопрос уже ответили:

  • Какой потомок вызвал статический метод родителя? или миссия невыполнима? 4 ответа

У меня есть общий класс

public class ClassParent {
  public static ClassParent get() {
    return new ClassParent();
  }
}

И есть дочерние классы, к примеру:

public class ClassChild : ClassParent {
  ... code
}

Как сделать так, что бы при вызове:

ClassChild.get();

Возвращался обьект типа ClassChild, а не ClassParent?

Answer 1

Нашел самое оптимальное решение моей задачи, если кому то понадобиться то вот пример:

public class ClassParent<T> where T : new() {
    static public T Get() {
        return new T();
    }
}
public class ClassChild : ClassParent<ClassChild> {
  ... Some code
}
READ ALSO
Сильно ли будит нагружен мой проект таким кодом?

Сильно ли будит нагружен мой проект таким кодом?

Сильно ли пострадает оптимизация от такого кода?

179
StackOverflowException при вызове свойства [дубликат]

StackOverflowException при вызове свойства [дубликат]

На данный вопрос уже ответили:

238
Ошибка C# , класс не содержит определения

Ошибка C# , класс не содержит определения

С горем пополам написал функцию для передачи значений из выпадающего списка в матрицу (matrix_dimensions_changed), но на выходе ошибка с кодом CS1061 - «MainWindow»...

241
Selenium смена FirefoxOptions в процессе выполнения тестов

Selenium смена FirefoxOptions в процессе выполнения тестов

При запуске браузера, настройки успешно устанавливаются

257