/// <summary>Registers an alias for a variable, constant or type name.</summary> /// <exception cref="Exception">Throws an exception if the alias already exists.</exception> /// <param name="alias">The alias to register.</param> /// <param name="name">The variable, constant or type name to register for the specified alias.</param> /// <returns>A Fluent EvalContext.</returns> public EvalContext RegisterAlias(string alias, string name) { if (!AliasNames.TryAdd(alias, name)) { throw new Exception(string.Format(ExceptionMessage.Unexpected_AliasRegistered, alias)); } return(this); }
public PostIndexAliasSettings() { this.OtherAliasName = "#{0}"; this.AliasNames = new PostAliasNameCollection(); AliasNames.Add(new PostAliasNameItem(0, "楼主")); AliasNames.Add(new PostAliasNameItem(1, "沙发")); AliasNames.Add(new PostAliasNameItem(2, "板凳")); AliasNames.Add(new PostAliasNameItem(3, "地板")); }
/// <summary>Unregisters all alias for a variable, constant or type name.</summary> /// <param name="aliases">A variable-length parameters list containing alias to unregister.</param> /// <returns>A Fluent EvalContext.</returns> public EvalContext UnregisterAlias(params string[] aliases) { foreach (var alias in aliases) { string value; AliasNames.TryRemove(alias, out value); } return(this); }
/// <summary>Unregisters all kind of alias (Extension Methods, Names, Static Members, Types and Values).</summary> /// <returns>An Fluent EvalContext.</returns> public EvalContext UnregisterAll() { AliasExtensionMethods.Clear(); AliasGlobalConstants.Clear(); AliasGlobalVariables.Clear(); AliasNames.Clear(); AliasStaticMembers.Clear(); AliasTypes.Clear(); return(this); }