Принцип TDD и ООП обычно программирует к интерфейсу не реализацию.
В этом конкретном случае, так как Вы по существу говорите о конструкции языка, не пользовательской, он обычно не будет иметь значения, но говорить, например, что Вы нашли, Список не поддерживал что-то, в чем Вы нуждались. При использовании IList в остальной части приложения, Вы могли бы расширить Список с помощью своего собственного класса и все еще быть в состоянии раздать это без рефакторинга.
стоимость, чтобы сделать это минимально, почему бы не сохранить себя головная боль позже? Это - то, о чем интерфейсный принцип - все.
Рассматривали ли вы использование Open XML SDK от Microsoft? Единственная зависимость - от .NET 3.5.
Документация: http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx
Загрузить: http://www.microsoft.com/downloads/details.aspx?familyid=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&displaylang=en[1256pting-121--4351503- Откройте файл проекта в виде текста. редактор или с помощью контекстного меню «редактировать файл проекта» (может быть только частью надстройки, которая у меня есть). Затем вы можете использовать XML-тег DependentUpon для получения иерархии. Например,
Я сам не пробовал, так что отнеситесь к этому с долей скепсиса, но это то, что я делаю, просматривая проекты, которые мне нужно передать
Откройте файл проекта в блокноте (или другой предпочтительный текстовый редактор) и структуру файла проекта, чтобы он выглядел как
<Compile Include="whatever.cs">
<DependentUpon>whatever.else</DependentUpon>
</Compile>
<None Include="whatever.else" />
вместо
<Compile Include="whatever.cs" />
с таким количеством предложений DependentUpon
и None
элементов, сколько необходимо