Я пытаюсь получить доступ к свойству подкласса через отражение. Но это не работает. Как получить доступ ко всем свойствам подкласса?C#: Reflection: свойство доступа подкласса
Это класс, в котором я пытаюсь получить доступ к свойствам подкласса через отражение. Я пробовал структуру классов абстрактно и частично, но оба они не работают.
public abstract class FakeDbContext
{
public FakeDbSet<T> Set<T>() where T : class, IObjectState
{
foreach (PropertyInfo property in GetType().GetProperties())
{
if (property.PropertyType == typeof(FakeDbSet<T>))
return property.GetValue(this, null) as FakeDbSet<T>;
}
throw new Exception("Type collection not found");
}
}
Подкласс с параметрами
public class MockDbContext : FakeDbContext
{
private FakeDbSet<Address> Addresses { get; set; }
private FakeDbSet<EmailAddress> EmailAddresses { get; set; }
private FakeDbSet<PhoneNumber> PhoneNumbers { get; set; }
private FakeDbSet<BaseContact> Contacts { get; set; }
private FakeDbSet<Environment> Environments { get; set; }
private FakeDbSet<Data.Entities.InformationService> InformationServices { get; set; }
private FakeDbSet<UserEnvironmentConfiguration> UserEnvironmentConfigurations { get; set; }
private FakeDbSet<Customer> Customers { get; set; }
private FakeDbSet<UserEnvironmentConfigurationSet> UserEnvironmentConfigurationSets { get; set; }
public MockDbContext()
{
Addresses = new FakeDbSet<Address>();
EmailAddresses = new FakeDbSet<EmailAddress>();
PhoneNumbers = new FakeDbSet<PhoneNumber>();
Contacts = new FakeDbSet<BaseContact>();
Environments = new FakeDbSet<Environment>();
InformationServices = new FakeDbSet<Data.Entities.InformationService>();
UserEnvironmentConfigurations = new FakeDbSet<UserEnvironmentConfiguration>();
Customers = new FakeDbSet<Customer>();
UserEnvironmentConfigurationSets = new FakeDbSet<UserEnvironmentConfigurationSet>();
InitData();
}
}