public FieldAccessor(FieldInfo field, object target) : base(field, target) { if (field.IsInitOnly) { throw new ArgumentException("This field is read-only.", "field"); } setter = AccessorGenerator.GenerateSetter <T>(field, target); }
public ReadFieldAccessor(FieldInfo field, object target) { if (field.FieldType != TypeOf <T> .TypeID) { throw new ArgumentException("Field is not of type " + TypeOf <T> .TypeID.ToString() + ".", "field"); } if (target != null && field.DeclaringType != target.GetType()) { throw new TypeLoadException("Target does not contain this field."); } getter = AccessorGenerator.GenerateGetter <T>(field, target); Field = field; Target = target; }