C# 如何使用ExtensionSet清除/删除ActiveDirectory属性

C# 如何使用ExtensionSet清除/删除ActiveDirectory属性,c#,active-directory,C#,Active Directory,我正在为AD中的用户使用,以访问UserPrincipal通常检索不到的属性。我的自定义属性定义如下: [DirectoryProperty("facsimileTelephoneNumber")] public string FaxNumber { get { if (ExtensionGet("facsimileTelephoneNumber").Length != 1) retu

我正在为AD中的用户使用,以访问UserPrincipal通常检索不到的属性。我的自定义属性定义如下:

    [DirectoryProperty("facsimileTelephoneNumber")]
    public string FaxNumber
    {
        get
        {
            if (ExtensionGet("facsimileTelephoneNumber").Length != 1)
                return null;
            return (string)ExtensionGet("facsimileTelephoneNumber")[0];
        }
        set
        {
            ExtensionSet("facsimileTelephoneNumber", value);
        }
    }

如何使用ExtensionSet清除属性?如果我输入null或空字符串,我几乎总是会收到这样的错误消息:“为目录服务指定的属性语法无效。”。听起来您应该清除属性,但我不确定这如何与ExtensionSet一起工作。

问题是我没有发回数组,我只是发回值,而不是数组:

[DirectoryProperty("facsimileTelephoneNumber")]
    public string FaxNumber
    {
        get
        {
            if (ExtensionGet("facsimileTelephoneNumber").Length != 1)
                return null;
            return (string)ExtensionGet("facsimileTelephoneNumber")[0];
        }
        set
        {
            ExtensionSet("facsimileTelephoneNumber", string.IsNullOrEmpty(value) ? new string[1] {null} : new string[1] {value});
        }
    }