Exemple #1
0
        /// <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);
        }