GroupPrincipalExtension

GroupPrincipalExtension

我正在使用此代码获取ADGroup,

        using (var context = Utilities.GetPrincipalContext(OU))
        using (var gpe = new GroupPrincipalExtension(context, "*"))
        using (var ps = new PrincipalSearcher(gpe))
        {
            foreach (var g in ps.FindAll())
            {
                Console.WriteLine(g.DisplayName);
            }
        }


它将DisplayName设为null,因为该属性可用,但在另一个对象下,这是调试时在LOCAL窗口中看到的内容,

c# - 如何获得下划线对象?-LMLPHP

编辑

我以为代码是自我解释,但是如果引起混乱,我将尝试获取特定OU中的所有组,然后尝试获取自定义属性“ DisplayName”,GroupPrincipalExtension继承自system.directoryservices.accountmanagement的GroupPrincipal类。

调试时,我可以看到具有DisplayName属性的“ g”对象具有Test.AD.GroupPrincipalExtension(我不知道该如何称呼它?下划线对象?一个属性?不确定...)。

由于我无法获取g.DisplayName,因此我该如何关注,

g.Test.AD.GroupPrincipalExtension.DisplayName

最佳答案

没有路径g.Test.AD.GroupPrincipalExtension.DisplayName。 Visual Studio只是向您显示gTest.AD.GroupPrincipalExtension类型的(因为gPrincipal类型的)。

由于将gpe用作PrincipalSearcher的筛选器,因此看到的类型为GroupPrincipalExtension。 (您的GroupPrincipalExtension继承了Principal,这是PrincipalSearchResult<Principal>枚举的类型,就像在foreach中一样)。

您必须在其他地方找到问题,也许在您的GroupPrincipalExtension中。可以调用Principal.DisplayName

关于c# - 如何获得下划线对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32710453/

10-09 22:41