Я нахожусь в ситуации, когда у меня есть структура класса, подобная этой:
public class Container {
public string Name {get; set;}
public IEnumerable<Entity> Entities {get; set;}
}
public class Entity{
public string Name {get; set;}
public IEnumerable<Attribute> Attributes {get; set;}
}
public class Attribute{
public string Name {get; set;}
public AttributeEnum Type {get; set;}
public PoisonSpecification Specification {get; set;}
}
public Enum AttributeEnum{
poisonA,
poisonB,
poisonC,
poisonX
}
Каждый раз, когда каждый добавляет новый контейнер или модифицирует существующий Контейнер, я выполняю проверку входящего контейнера.
В настоящее время проверка начинается с вершины (уровень контейнера) до низа (спецификация типов)
В настоящее время я нахожусь в ситуации, если я вижу, что Атрибут использует тип toxicX, я должен убедиться, что Speci c Сущность (указанная в TypeSpecification) существует внутри контейнера - но как проверить экземпляр уровня контейнера, когда я нахожусь на уровне TypeSpecification?
Каким-то образом можно сослаться на родительский объект, содержащий свойство - или в этом случае несколько родителей?