У меня есть базовый абстрактный класс, имеющий параметр типа от другого абстрактного класса, как:Получить параметр типа класса, зная только тип класса
public abstract class Database<T> where T : DatabaseItem, new() { //... }
public abstract class DatabaseItem { //... }
Тогда у меня есть число детей классов, присущих от него:
public class ShopDatabase : Database<ShopItem> {}
public class ShopItem : DatabaseItem {}
public class WeaponDatabase : Database<WeaponItem> {}
public class WeaponItem : DatabaseItem {}
//...
Теперь проблема, у меня есть массив типа из базы данных, как:
private static readonly Type[] DATABASE_TYPES = new Type[] {
typeof (ShopDatabase),
typeof (WeaponDatabase)
};
И я хочу, чтобы получить все свои параметры типа, как другой массив, что-то вроде этого:
Type[] databaseItemTypes = MyFunction (DATABASE_TYPES);
// databaseItemTypes will be an array as: [ShopDatabaseItem, WeaponDatabaseItem]
Это может быть похож на этот question, но я даже не иметь экземпляр класса, так. ..