static private FieldNotDefinedForType ( object p0, object p1 ) : |
||
p0 | object | |
p1 | object | |
return |
public static MemberExpression Field(Expression expression, Type type, string fieldName) { ContractUtils.RequiresNotNull(type, nameof(type)); // bind to public names first FieldInfo fi = type.GetField(fieldName, BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy) ?? type.GetField(fieldName, BindingFlags.Static | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (fi == null) { throw Error.FieldNotDefinedForType(fieldName, type); } return(Expression.Field(expression, fi)); }
//CONFORMING public static MemberExpression Field(Expression expression, string fieldName) { RequiresCanRead(expression, "expression"); // bind to public names first FieldInfo fi = expression.Type.GetField(fieldName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (fi == null) { fi = expression.Type.GetField(fieldName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); } if (fi == null) { throw Error.FieldNotDefinedForType(fieldName, expression.Type); } return(Expression.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="type">The <see cref="Type"/> containing the field.</param> /// <param name="fieldName">The field to be accessed.</param> /// <returns>The created <see cref="MemberExpression"/>.</returns> public static MemberExpression Field(Expression expression, Type type, string fieldName) { ContractUtils.RequiresNotNull(type, "type"); // bind to public names first var fi = type.GetField(fieldName, _publicStaticFlags); if (fi == null) { fi = type.GetField(fieldName, _nonPublicStaticFlags); } if (fi == null) { throw Error.FieldNotDefinedForType(fieldName, 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="type">The <see cref="Type"/> containing the field.</param> /// <param name="fieldName">The field to be accessed.</param> /// <returns>The created <see cref="MemberExpression"/>.</returns> public static MemberExpression Field( Expression?expression, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields)] Type type, string fieldName) { ArgumentNullException.ThrowIfNull(type); ArgumentNullException.ThrowIfNull(fieldName); // bind to public names first FieldInfo?fi = type.GetField(fieldName, BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy) ?? type.GetField(fieldName, BindingFlags.Static | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy); if (fi == null) { throw Error.FieldNotDefinedForType(fieldName, type); } return(Expression.Field(expression, fi)); }