ExpressionMustBeWriteable() статический приватный Метод

ArgumentException with message like "Expression must be writeable"
static private ExpressionMustBeWriteable ( string paramName ) : Exception
paramName string
Результат System.Exception
Пример #1
0
        private static void RequiresCanWrite(Expression expression, string paramName)
        {
            if (expression == null)
            {
                throw new ArgumentNullException(paramName);
            }

            switch (expression.NodeType)
            {
            case ExpressionType.Index:
                PropertyInfo indexer = ((IndexExpression)expression).Indexer;
                if (indexer == null || indexer.CanWrite)
                {
                    return;
                }
                break;

            case ExpressionType.MemberAccess:
                MemberInfo   member = ((MemberExpression)expression).Member;
                PropertyInfo prop   = member as PropertyInfo;
                if (prop != null)
                {
                    if (prop.CanWrite)
                    {
                        return;
                    }
                }
                else
                {
                    Debug.Assert(member is FieldInfo);
                    FieldInfo field = (FieldInfo)member;
                    if (!(field.IsInitOnly || field.IsLiteral))
                    {
                        return;
                    }
                }
                break;

            case ExpressionType.Parameter:
                return;
            }

            throw Error.ExpressionMustBeWriteable(paramName);
        }