/// <summary> /// Returns a selector which matches a control's Name. /// </summary> /// <param name="previous">The previous selector.</param> /// <param name="name">The name.</param> /// <returns>The selector.</returns> public static Selector Name(this Selector previous, string name) { var tac = previous as TypeNameAndClassSelector; if (tac != null) { tac.Name = name; return(tac); } else { return(TypeNameAndClassSelector.ForName(previous, name)); } }
/// <summary> /// Returns a selector which matches a control's Name. /// </summary> /// <param name="previous">The previous selector.</param> /// <param name="name">The name.</param> /// <returns>The selector.</returns> public static Selector Name(this Selector previous, string name) { Contract.Requires <ArgumentNullException>(name != null); Contract.Requires <ArgumentException>(!string.IsNullOrWhiteSpace(name)); var tac = previous as TypeNameAndClassSelector; if (tac != null) { tac.Name = name; return(tac); } else { return(TypeNameAndClassSelector.ForName(previous, name)); } }
/// <summary> /// Returns a selector which matches a control's Name. /// </summary> /// <param name="previous">The previous selector.</param> /// <param name="name">The name.</param> /// <returns>The selector.</returns> public static Selector Name(this Selector?previous, string name) { _ = name ?? throw new ArgumentNullException(nameof(name)); if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentException("Name may not be empty", nameof(name)); } var tac = previous as TypeNameAndClassSelector; if (tac != null) { tac.Name = name; return(tac); } else { return(TypeNameAndClassSelector.ForName(previous, name)); } }