我目前正在使用 .NET 2.0 Visual Basic。当前项目是一个 Active Directory Wrapper 类库,其中我有一个Searcher(Of T)
通用类,我希望使用它来搜索底层目录中的对象。
在这个Searcher(Of T)
类中,我有以下方法:
Private Function GetResults() As CustomSet(Of T)
Public Function ToList() As CustomSet(Of T)
Public Function Find(ByVal ParamArray filter() As Object) As CustomSet(Of T)
// And some other functions here...
我最感兴趣的是Find()方法,我可以将属性和值传递给它,并希望从这个 filter() ParamArray 参数解析我的 LDAP 查询。其实,我能想到的只有这个:
Public Sub SomeSub()
Dim groupSearcher As Searcher(Of Group) = New Searcher(Of Group)()
Dim groupsSet as CustomSet(Of Group) = groupSearcher.Find("Name=someName", "Description=someDescription")
// Working with the result here...
End Sub
但我希望能够为我的用户提供的是:
Public Sub SomeSub()
Dim groupSearcher As Searcher(Of Group) = New Searcher(Of Group)()
Dim groupsSet As CustomSet(Of Groupe) = groupSearcher.Find(Name = "someName", Guid = someGuid, Description = "someDescription")
// And work with the result here...
End Sub
简而言之,我想为我的用户提供某种Expression
功能,除非工作量太大,因为这个项目不是最重要的,而且我没有 2 年的时间来开发它。我认为我应该做的更好的事情是编写类似的东西CustomExpression
,可以将参数传递给某些函数或子程序。
感谢任何可能使我实现目标的建议!