Во-первых, я хочу написать себе общий тип для операций с базовым Active Directory.
Для тех из вас, кто знает об AD и пространстве имен System.DirectoryServices , класс DirectoryEntry является наиболее важным наряду с классом DirectorySearcher.
При разговоре на языке AD все DirectoryEntry . С учетом сказанного, мое приложение должно управлять пользователями, группами и организационными единицами (OU). Каждый из этих объектов является записями AD. Тогда это звучит для меня хорошим кандидатом на GenericTypes .
Что я хочу сделать, это:
public interface ITop {
string Path { get; set; }
string ObjectClass { get; }
string ContainerName { get; set; }
// [...]
}
public interface IGroup : ITop {
// Speciality properties here...
}
public interface IUser : ITop {
// Speciality properties here...
}
// And so forth...
public sealed class DirectorySource<T> where T : ITop {
// Methods against AD here...
}
Моя библиотека классов ДОЛЖНА отвечать следующему органическому критерию:
- VS2005 VBNET
- .NET 2.0
- Active Directory
- Windows Forms
Что ж, я думаю, что уже дал слишком много деталей для целей моего вопроса, но любые предложения по архитектуре и шаблонам проектирования также приветствуются. Мой вопрос:
Есть ли в VBNET 2.0 эквивалент C # где (ключевое ограничение общего типа) ключевое слово или какие-либо обходные решения?
Результаты моих поисков, похоже, заканчиваются неопровержимым заключением. Поэтому я спрашиваю ...