C#: как Вы получаете базовый класс класса?

Если необходимо сохранить много изображений в файловой системе, несколько вещей думать о включают:

  • Резервное копирование и восстановление. Как Вы сохраняете изображения в синхронизации.
  • производительность Файловой системы. Зависит от того, что Вы делаете и файловая система, но можно хотеть реализовать механизм хеширования так, чтобы у Вас не было единственного каталога с миллиардами файлов.
  • Репликация. Необходимо ли сохранить файлы в синхронизации между несколькими серверами?
35
задан JaysonFix 9 July 2009 в 17:11
поделиться

6 ответов

Использовать отражение от типа текущего класса.

 Type superClass = myClass.GetType().BaseType;
51
ответ дан 27 November 2019 в 06:48
поделиться

Это получит базовый тип (если он существует) и создаст его экземпляр:

Type baseType = typeof(MyClass).BaseType;
object o = null;
if(baseType != null) {
    o = Activator.CreateInstance(baseType);
}

В качестве альтернативы, если вы не знаете тип во время компиляции, используйте следующее:

object myObject;
Type baseType = myObject.GetType().BaseType;
object o = null;
if(baseType != null) {
    o = Activator.CreateInstance(baseType);
}

См. Type.BaseType и Activator.CreateInstance в MSDN.

5
ответ дан 27 November 2019 в 06:48
поделиться

вы можете просто использовать базу.

-1
ответ дан 27 November 2019 в 06:48
поделиться
Type superClass = typeof(MyClass).BaseType;

Кроме того, если вы не знаете тип вашего текущего объекта, вы можете получить тип с помощью GetType, а затем получить BaseType этого типа:

Type baseClass = myObject.GetType().BaseType;

документация

21
ответ дан 27 November 2019 в 06:48
поделиться

obj.base предоставит вам ссылку на родительский объект из экземпляра производного объекта obj .

typeof (obj) .BaseType даст вам ссылку на тип родительского объекта из экземпляра производного объекта obj .

2
ответ дан 27 November 2019 в 06:48
поделиться

Свойство Type.BaseType - это то, что вам нужно.

Type  superClass = typeof(MyClass).BaseType;
2
ответ дан 27 November 2019 в 06:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: