Зависит. С одной стороны, Dictionary
(или другой ассоциативный контейнер) может показаться правильным инструментом для работы. С другой стороны, даже если ваши шаблоны доступа идеально согласованы с такой структурой, вам все равно не требуется производительность ; все структуры данных быстры для такого смехотворно небольшого количества элементов.
Таким образом, если вы на самом деле не все время индексируете это дерево словарей в своем коде, вы можете вместо этого иметь List
из них и просто выполнять линейный поиск каждый раз, когда вам нужно:
class Wrapper
{
public string Server { get; set; }
public string Repository { get; set; }
public Type Type { get; set; }
public IServiceProvider Provider { get; set; }
}
Также вполне возможно, что из-за ваших конкретных шаблонов доступа это может не сделать ваш код более читабельным. Визуализируйте (или прототип) оба подхода и выберите тот, который удобнее использовать.