Я создаю динамический тип во время выполнения (см. Здесь: Serialize/Deserialize a dynamic object) и используйте этот тип для создания динамического члена в другом классе.PropertyInfo на динамическом объекте System.Object не то, что нужно
public class SomeClass
{
private dynamic _AnimalType = CreateAnimal<Animal>("Dog");
public dynamic AnimalType { get { return _AnimalType; } }
static internal PropertyInfo[] Sprops = typeof(SomeClass).GetProperties();
static public PropertyInfo[] getPropertyInfos() { get { return Sprops; } }
}
Однако, когда следующее называется:
PropertyInfo[] Sprops = typeof(SomeClass).GetProperties();
Sprops содержит один PropertyInfo (System.Object
), который 'exptected', но не то, что 'хотел'. Я хотел бы получить Type, который AnimalType в настоящее время (Animal
, или, точнее, Dog
). Есть ли способ сделать это? Я не хочу создавать экземпляр этого класса, а затем вызывать метод «SetInternalProperties». Идея состоит в том, чтобы свойства были легко доступны как статические.
* Я получаю свойство System.Object * что это значит? Где вы получаете 'System.Object'? Просьба уточнить. –
Уточненный выше: Sprops содержит один PropertyInfo ('System.Object') – Tizz