Эквивалентность VBNET C#, где универсальное ограничительное ключевое слово?

Во-первых, я хочу записать мне универсальный тип для операций против базового 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 критерий:

  1. VS2005 VBNET
  2. .NET 2.0
  3. Active Directory
  4. Windows Forms

Ну, я предполагаю, что уже предоставил слишком много подробную информацию в целях своего вопроса, но любое предложение на архитектуре и шаблонах разработки приветствуется также. Мой вопрос:

Существует ли эквивалентность VBNET 2.0 C# где (универсальное ограничение типа) ключевое слово или какие-либо обходные решения лучшей практики?

Результаты моих поисков, кажется, заканчиваются невозможным заключением. Таким образом, я спрашиваю...

15
задан Will Marcouiller 10 May 2010 в 15:29
поделиться

1 ответ

Примерно так:

Public Class DirectorySource(Of T As ITop)

Несколько ограничений заключаются в фигурные скобки, например:

Public Class DirectorySource(Of T As { ITop, IDisposable, Class, New })
37
ответ дан 1 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: