Во-первых, я хочу записать мне универсальный тип для операций против базового Active Directory.
Для тех из Вас, кто знает о AD и Системе. Пространство имен 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 where T : ITop {
// Methods against AD here...
}
Моя библиотека классов ДОЛЖНА ответить на следующий organical критерий:
Ну, я предполагаю, что уже предоставил слишком много подробную информацию в целях своего вопроса, но любое предложение на архитектуре и шаблонах разработки приветствуется также. Мой вопрос:
Существует ли эквивалентность VBNET 2.0 C# где (универсальное ограничение типа) ключевое слово или какие-либо обходные решения лучшей практики?
Результаты моих поисков, кажется, заканчиваются невозможным заключением. Таким образом, я спрашиваю...
Примерно так:
Public Class DirectorySource(Of T As ITop)
Несколько ограничений заключаются в фигурные скобки, например:
Public Class DirectorySource(Of T As { ITop, IDisposable, Class, New })