コード例 #1
0
        /// <summary>Unregisters member from specified types.</summary>
        /// <param name="members">A variable-length parameters list containing members.</param>
        /// <returns>An Fluent EvalContext.</returns>
        public EvalContext UnregisterMember(params MemberInfo[] members)
        {
            foreach (var member in members)
            {
                if (member.DeclaringType != null)
                {
                    if (AliasTypes.ContainsKey(member.DeclaringType.FullName))
                    {
                        UnregisterType(member.DeclaringType);
                        RegisterMember(member.DeclaringType);
                    }
                }

                ConcurrentDictionary <MemberInfo, byte> values;
                if (AliasMembers.TryGetValue(member.Name, out values))
                {
                    byte outByte;
                    values.TryRemove(member, out outByte);
                }
            }

            return(this);
        }
コード例 #2
0
 public bool CanGenerateOnPosition(AliasType aliasType, int position)
 {
     return(AliasTypes.ContainsKey(aliasType) ? AliasTypes[aliasType].IsAllowedOnPosition(position) : false);
 }