首先,我希望自己编写一个针对基础Active Directory的操作的泛型类型。
对于那些了解AD和System.DirectoryServices namespace的人,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...
}
我的班级图书馆必须回应以下有机标准:
嗯,我想我已经为我的问题提供了太多细节,但是对于架构和设计模式的任何建议也是受欢迎的。我的问题是:
是否存在C# where (generic type constraint)关键字的VBNET 2.0等效项,或任何最佳实践解决方法?
我的搜索结果似乎以可撤销的结论结束。所以我问......
答案 0 :(得分:35)
像这样:
Public Class DirectorySource(Of T As ITop)
括号包含多个约束,如下所示:
Public Class DirectorySource(Of T As { ITop, IDisposable, Class, New })