Exemple #1
0
 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);
 }
Exemple #2
0
        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;
        }