Пример #1
0
 // writes a binding name
 private void WriteBindingKey(StonTokenWriter writer, IStonBindingName bindingKey)
 {
     if (bindingKey.IsExtension)
     {
         writer.Write('!');
     }
     WriteStringLiteral(writer, bindingKey.Name);
 }
Пример #2
0
 /// <summary>
 /// Creates a structurally equivalent member binding name from a given binding name.
 /// </summary>
 /// <param name="bindingName">The binding name to copy the structure from.</param>
 /// <returns>A structurally equivalent copy of the given binding name.</returns>
 public static IStonBindingName Copy(IStonBindingName bindingName)
 {
     if (bindingName == null)
     {
         throw new ArgumentNullException("bindingName");
     }
     return(new StonBindingName(bindingName));
 }
Пример #3
0
 /// <summary>
 /// Checks the validity of a given STON member binding name.
 /// </summary>
 /// <param name="bindingKey">The member binding name to check the validity of.</param>
 public static void ValidateBindingKey(IStonBindingName bindingKey)
 {
     if (bindingKey == null)
     {
         throw new ArgumentNullException("bindingKey");
     }
     if (bindingKey.Name == null)
     {
         throw new StonException("A member binding name cannot have non-existing name.");
     }
 }
        /// <summary>
        /// Determines whether two binding names are equivalent.
        /// </summary>
        /// <param name="x">The first binding name to compare.</param>
        /// <param name="y">The second binding name to compare.</param>
        /// <returns>True when binding names are equivalent, false otherwise.</returns>
        public bool Equals(IStonBindingName x, IStonBindingName y)
        {
            if (x == y)
            {
                return(true);
            }
            else if (x == null || y == null)
            {
                return(false);
            }

            return(x.IsExtension == y.IsExtension && x.Name == y.Name);
        }
        public int GetHashCode(IStonBindingName obj)
        {
            if (obj == null)
            {
                return(0);
            }

            int result = obj.Name.GetHashCode();

            if (obj.IsExtension)
            {
                result ^= 0xf0f0f0f;
            }

            return(result);
        }
Пример #6
0
 /// <summary>
 /// Creates a structurally equivalent member binding name from a given binding name.
 /// </summary>
 /// <param name="bindingName">The binding name to copy the structure from.</param>
 public StonBindingName(IStonBindingName bindingName)
     : this(bindingName.Name, bindingName.IsExtension)
 {
 }