gpt4 book ai didi

c# - PrincipalSearchResult 与 PrincipalSearcher FindAll,为什么 T 必须是 Principal 而不是 UserPrincipal

转载 作者:太空狗 更新时间:2023-10-30 00:19:00 30 4
gpt4 key购买 nike

我只是好奇:

List<string> ADUsers = new List<string>();
using (PrincipalContext principle_context = new PrincipalContext(ContextType.Domain, "MYDOMAIN"))
using (UserPrincipal user_principal = new UserPrincipal(principle_context) { Enabled = true, Name = "*", EmailAddress = "*" })
using (PrincipalSearcher user_searcher = new PrincipalSearcher(user_principal))
using (PrincipalSearchResult<Principal> results = user_searcher.FindAll())
{
foreach (Principal p in results)
{
ADUsers.Add(p.Name + " " + ((UserPrincipal)p).EmailAddress);
}
}

...有没有办法避免将我的结果转换到这里?我想做类似的事情:

using (PrincipalSearchResult<UserPrincipal> results = user_searcher.FindAll())

...这样我的搜索结果就是我需要的类型,但 FindAll 方法似乎只允许使用 <Principal>类型。有没有更好的办法?

谢谢。

最佳答案

实际上 foreach 会为您转换枚举值,因此您可以这样做

foreach (UserPrincipal p in results)
{
ADUsers.Add(p.Name + " " + p.EmailAddress);
}

假设 Name 是在 UserPrincipalPrincipal 中定义的。

关于c# - PrincipalSearchResult<T> 与 PrincipalSearcher FindAll,为什么 T 必须是 Principal 而不是 UserPrincipal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26679819/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com