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