static private InstanceFieldNotDefinedForType ( object p0, object p1 ) : |
||
p0 | object | |
p1 | object | |
return |
/// <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="fieldName">The field to be accessed.</param> /// <returns>The created <see cref="MemberExpression"/>.</returns> public static MemberExpression Field(Expression expression, string fieldName) { RequiresCanRead(expression, "expression"); // bind to public names first var fi = expression.Type.GetField(fieldName, _publicFlags) ?? expression.Type.GetField(fieldName, _nonPublicFlags); if (fi == null) { throw Error.InstanceFieldNotDefinedForType(fieldName, expression.Type); } return(Field(expression, fi)); }
/// <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="fieldName">The field to be accessed.</param> /// <returns>The created <see cref="MemberExpression"/>.</returns> public static MemberExpression Field(Expression expression, string fieldName) { RequiresCanRead(expression, nameof(expression)); ContractUtils.RequiresNotNull(fieldName, nameof(fieldName)); // bind to public names first FieldInfo fi = expression.Type.GetField(fieldName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy) ?? expression.Type.GetField(fieldName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (fi == null) { throw Error.InstanceFieldNotDefinedForType(fieldName, expression.Type); } return(Expression.Field(expression, fi)); }
public static ConditionalMemberCSharpExpression ConditionalField(Expression expression, string fieldName) { RequiresCanRead(expression, nameof(expression)); ContractUtils.RequiresNotNull(fieldName, nameof(fieldName)); var type = expression.Type.GetNonNullReceiverType(); var field = type.GetField(fieldName, BindingFlags.IgnoreCase | BindingFlags.Instance | BindingFlags.Public | BindingFlags.FlattenHierarchy); if (field == null) { field = type.GetField(fieldName, BindingFlags.IgnoreCase | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy); } if (field == null) { throw LinqError.InstanceFieldNotDefinedForType(fieldName, type); } return(ConditionalField(expression, field)); }