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

ArgumentException with message like "Member '{0}' not field or property"
static private MemberNotFieldOrProperty ( object p0, string paramName ) : Exception
p0 object
paramName string
Результат System.Exception
Пример #1
0
        /// <summary>
        /// Creates a <see cref="ConditionalMemberCSharpExpression" /> that represents a conditional (null-propagating) member lookup.
        /// </summary>
        /// <param name="expression">An <see cref="Expression" /> that specifies the instance to access the member of.</param>
        /// <param name="member">The <see cref="MemberInfo" /> representing the member to access conditionally.</param>
        /// <returns>A <see cref="ConditionalMemberCSharpExpression" /> that has the <see cref="CSharpNodeType" /> property equal to <see cref="CSharpExpressionType.ConditionalAccess" /> and the <see cref="ConditionalAccessCSharpExpression{MemberExpression}.Receiver" /> and <see cref="Microsoft.CSharp.Expressions.ConditionalMemberCSharpExpression.Member" /> properties set to the specified values.</returns>
        public static ConditionalMemberCSharpExpression MakeConditionalMemberAccess(Expression expression, MemberInfo member)
        {
            RequiresNotNull(member, nameof(member));

            return(member switch
            {
                FieldInfo fieldInfo => ConditionalField(expression, fieldInfo),
                PropertyInfo propertyInfo => ConditionalProperty(expression, propertyInfo),

                // NB: LINQ doesn't allow a MethodInfo for a property getter here either; should we change this?
                _ => throw LinqError.MemberNotFieldOrProperty(member)
            });
Пример #2
0
 /// <summary>
 /// Creates a <see cref="MemberExpression"/> accessing a property or field.
 /// </summary>
 /// <param name="expression">The containing object of the member.  This can be null for static members.</param>
 /// <param name="member">The member to be accessed.</param>
 /// <returns>The created <see cref="MemberExpression"/>.</returns>
 public static MemberExpression MakeMemberAccess(Expression expression, MemberInfo member)
 {
     ContractUtils.RequiresNotNull(member, nameof(member));
     if (member is FieldInfo fi)
     {
         return(Field(expression, fi));
     }
     if (member is PropertyInfo pi)
     {
         return(Property(expression, pi));
     }
     throw Error.MemberNotFieldOrProperty(member, nameof(member));
 }
Пример #3
0
        /// <summary>
        /// Creates a <see cref="MemberExpression"/> accessing a property or field.
        /// </summary>
        /// <param name="expression">The containing object of the member.  This can be null for static members.</param>
        /// <param name="member">The member to be accessed.</param>
        /// <returns>The created <see cref="MemberExpression"/>.</returns>
        public static MemberExpression MakeMemberAccess(Expression?expression, MemberInfo member)
        {
            ArgumentNullException.ThrowIfNull(member);

            if (member is FieldInfo fi)
            {
                return(Expression.Field(expression, fi));
            }
            if (member is PropertyInfo pi)
            {
                return(Expression.Property(expression, pi));
            }
            throw Error.MemberNotFieldOrProperty(member, nameof(member));
        }
Пример #4
0
        /// <summary>
        /// Creates a <see cref="MemberExpression"/> accessing a property or field.
        /// </summary>
        /// <param name="expression">The containing object of the member.  This can be null for static members.</param>
        /// <param name="member">The member to be accessed.</param>
        /// <returns>The created <see cref="MemberExpression"/>.</returns>
        public static MemberExpression MakeMemberAccess(Expression expression, MemberInfo member)
        {
            ContractUtils.RequiresNotNull(member, nameof(member));

            FieldInfo fi = member as FieldInfo;

            if (fi != null)
            {
                return(Expression.Field(expression, fi));
            }
            PropertyInfo pi = member as PropertyInfo;

            if (pi != null)
            {
                return(Expression.Property(expression, pi));
            }
            throw Error.MemberNotFieldOrProperty(member, nameof(member));
        }
Пример #5
0
        /// <summary>
        /// Creates a <see cref="MemberExpression"/> accessing a property or field.
        /// </summary>
        /// <param name="expression">The containing object of the member.  This can be null for static members.</param>
        /// <param name="member">The member to be accessed.</param>
        /// <returns>The created <see cref="MemberExpression"/>.</returns>
        public static MemberExpression MakeMemberAccess(Expression expression, MemberInfo member)
        {
            ContractUtils.RequiresNotNull(member, "member");

            var fi = member as FieldInfo;

            if (fi != null)
            {
                return(Field(expression, fi));
            }
            var pi = member as PropertyInfo;

            if (pi != null)
            {
                return(Property(expression, pi));
            }
            throw Error.MemberNotFieldOrProperty(member);
        }
        /// <summary>
        /// Creates a <see cref="ConditionalMemberCSharpExpression" /> that represents a conditional (null-propagating) member lookup.
        /// </summary>
        /// <param name="expression">An <see cref="Expression" /> that specifies the instance to access the member of.</param>
        /// <param name="member">The <see cref="MemberInfo" /> representing the member to access conditionally.</param>
        /// <returns>A <see cref="ConditionalMemberCSharpExpression" /> that has the <see cref="CSharpNodeType" /> property equal to <see cref="CSharpExpressionType.ConditionalAccess" /> and the <see cref="ConditionalAccessCSharpExpression{MemberExpression}.Receiver" /> and <see cref="Microsoft.CSharp.Expressions.ConditionalMemberCSharpExpression.Member" /> properties set to the specified values.</returns>
        public static ConditionalMemberCSharpExpression MakeConditionalMemberAccess(Expression expression, MemberInfo member)
        {
            ContractUtils.RequiresNotNull(member, nameof(member));

            var fieldInfo = member as FieldInfo;

            if (fieldInfo != null)
            {
                return(ConditionalField(expression, fieldInfo));
            }

            var propertyInfo = member as PropertyInfo;

            if (propertyInfo != null)
            {
                return(ConditionalProperty(expression, propertyInfo));
            }

            // NB: LINQ doesn't allow a MethodInfo for a property getter here either; should we change this?

            throw LinqError.MemberNotFieldOrProperty(member);
        }