static private FieldInfoNotDefinedForType ( object p0, object p1, object p2 ) : |
||
p0 | object | |
p1 | object | |
p2 | object | |
return |
public static MemberExpression Field(Expression expression, FieldInfo field) { ContractUtils.RequiresNotNull(field, nameof(field)); if (field.IsStatic) { if (expression != null) { throw Error.OnlyStaticFieldsHaveNullInstance(nameof(expression)); } } else { if (expression == null) { throw Error.OnlyStaticFieldsHaveNullInstance(nameof(field)); } RequiresCanRead(expression, nameof(expression)); if (!TypeUtils.AreReferenceAssignable(field.DeclaringType, expression.Type)) { throw Error.FieldInfoNotDefinedForType(field.DeclaringType, field.Name, expression.Type); } } return(MemberExpression.Make(expression, field)); }
/// <summary> /// Creates a <see cref="MemberExpression"/> accessing a field. /// </summary> /// <param name="expression">The containing object of the field. This can be null for static fields.</param> /// <param name="field">The field to be accessed.</param> /// <returns>The created <see cref="MemberExpression"/>.</returns> public static MemberExpression Field(Expression expression, FieldInfo field) { ContractUtils.RequiresNotNull(field, "field"); if (field.IsStatic) { if (expression != null) { throw new ArgumentException(Strings.OnlyStaticFieldsHaveNullInstance, "expression"); } } else { if (expression == null) { throw new ArgumentException(Strings.OnlyStaticFieldsHaveNullInstance, "field"); } RequiresCanRead(expression, "expression"); if (!TypeHelper.AreReferenceAssignable(field.DeclaringType, expression.Type)) { throw Error.FieldInfoNotDefinedForType(field.DeclaringType, field.Name, expression.Type); } } return(MemberExpression.Make(expression, field)); }
public static ConditionalMemberCSharpExpression ConditionalField(Expression expression, FieldInfo field) { RequiresCanRead(expression, nameof(expression)); ContractUtils.RequiresNotNull(field, nameof(field)); if (field.IsStatic) { throw Error.ConditionalAccessRequiresNonStaticMember(); } var type = expression.Type.GetNonNullReceiverType(); if (!TypeUtils1.AreReferenceAssignable(field.DeclaringType, type)) { throw LinqError.FieldInfoNotDefinedForType(field.DeclaringType, field.Name, type); } return(ConditionalMemberCSharpExpression.Make(expression, field)); }