Beispiel #1
0
            /// <summary>
            /// Equals method overloaded to compare two values of the same data type.
            /// </summary>
            /// <param name="obj">The object to compare with.</param>
            /// <returns>true, if both values are equals, otherwise false.</returns>
            public override bool Equals(object obj)
            {
                if (!(obj is X500RDN))
                {
                    return(base.Equals(obj));
                }

                X500RDN compareTo = (X500RDN)obj;

                return((string.Compare(this.Attribute, compareTo.Attribute, true, CultureInfo.InvariantCulture) == 0) &&
                       (string.Compare(this.Value, compareTo.Value, true, CultureInfo.InvariantCulture) == 0));
            }
Beispiel #2
0
 /// <summary>
 /// Creates a new X500Name using the name as a string.
 /// </summary>
 /// <param name="name">The name as a string.</param>
 public X500Name(string name)
 {
     if (name == null || name.Length == 0) throw new ArgumentNullException("name");
     _name = name;
     string[] parts = name.Split(',');
     //iterate through the parts in reverse order, to allow terminal RDN match
     for (int i = parts.GetUpperBound(0); i >= 0; i--)
     {
         X500RDN rdn = new X500RDN(parts[i]);
         _parts.Add(rdn);
         _keys.Add(rdn.Attribute);
     }
 }
Beispiel #3
0
 /// <summary>
 /// Creates a new X500Name using the name as a string.
 /// </summary>
 /// <param name="name">The name as a string.</param>
 public X500Name(string name)
 {
     if (name == null || name.Length == 0)
     {
         throw new ArgumentNullException("name");
     }
     _name = name;
     string[] parts = name.Split(',');
     //iterate through the parts in reverse order, to allow terminal RDN match
     for (int i = parts.GetUpperBound(0); i >= 0; i--)
     {
         X500RDN rdn = new X500RDN(parts[i]);
         _parts.Add(rdn);
         _keys.Add(rdn.Attribute);
     }
 }