/// <summary> /// Modifies this name to include the given flags. /// </summary> /// <param name="flags"> The flags to add. </param> /// <returns> A new property name instance with the existing flags and the provided flags. </returns> public PropertyName WithFlags(PropertyNameFlags flags) { this.flags |= flags; return(this); }
/// <summary> /// Creates a property name instance with a name that will be computed at runtime. /// </summary> /// <param name="name"> The expression that will compute the name. </param> public PropertyName(Expression name) { this.flags = PropertyNameFlags.None; this.name = name ?? throw new ArgumentNullException(nameof(name)); }