| File: System\DirectoryServices\ActiveDirectory\ActiveDirectorySyntax.cs | Web Access |
| Project: src\runtime\src\libraries\System.DirectoryServices\src\System.DirectoryServices.csproj (System.DirectoryServices) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace System.DirectoryServices.ActiveDirectory { public enum ActiveDirectorySyntax : int { CaseExactString = 0, CaseIgnoreString = 1, NumericString = 2, DirectoryString = 3, OctetString = 4, SecurityDescriptor = 5, Int = 6, Int64 = 7, Bool = 8, Oid = 9, GeneralizedTime = 10, UtcTime = 11, DN = 12, DNWithBinary = 13, DNWithString = 14, Enumeration = 15, IA5String = 16, PrintableString = 17, Sid = 18, AccessPointDN = 19, ORName = 20, PresentationAddress = 21, ReplicaLink = 22 } internal sealed class OMObjectClass { public OMObjectClass(byte[] data) => Data = data; public bool Equals(OMObjectClass OMObjectClass) { bool result = true; if (Data.Length == OMObjectClass.Data.Length) { for (int i = 0; i < Data.Length; i++) { if (Data[i] != OMObjectClass.Data[i]) { result = false; break; } } } else { result = false; } return result; } public byte[] Data { get; } } internal sealed class Syntax { public readonly string attributeSyntax; public readonly int oMSyntax; public readonly OMObjectClass? oMObjectClass; public Syntax(string attributeSyntax, int oMSyntax, OMObjectClass? oMObjectClass) { this.attributeSyntax = attributeSyntax; this.oMSyntax = oMSyntax; this.oMObjectClass = oMObjectClass; } public bool Equals(Syntax syntax) { bool result = true; if ((!syntax.attributeSyntax.Equals(this.attributeSyntax)) || (syntax.oMSyntax != this.oMSyntax)) { result = false; } else { if (((this.oMObjectClass != null) && (syntax.oMObjectClass == null)) || ((this.oMObjectClass == null) && (syntax.oMObjectClass != null)) || ((this.oMObjectClass != null) && (syntax.oMObjectClass != null) && (!this.oMObjectClass.Equals(syntax.oMObjectClass)))) { result = false; } } return result; } } }