Мне нужен способ создания пустой коллекции SearchResultCollection, чтобы вызывающим пользователям гарантировался действительный набор SearchResultCollection независимо от любых исключений, обработанных в методе.
Я не собираюсь делать макеты, как здесь ответили: Moq C #, встроенный в класс
У меня есть класс, который выполняет различные поиски в AD, используя методы DirectorySearcher.FindOne или DirectorySearcher.FindAll.
DirectorySearcher searcher = new DirectorySearcher(searchroot, filter);
try{
return searcher.FindAll();
} catch {
return new SearchResultCollection(); //No constructor that I find.
}
Исходя из проектного решения, я ожидаю, что каждый метод должен возвращать действительный (возможно, пустой) набор SearchResultCollection, даже если AD выдает исключение. Это значит, что вызывающие могут использовать цикл foreach для обработки и не заботиться о каких-либо объектах с нулевым возвратом из метода. Другими словами, возвращаемое значение должно быть либо верным набором возвращаемых записей, либо пустой коллекцией в том же формате.
Моя альтернатива - использовать Список, который работает, но добавляет сложности без особой ценности.