public DeserializationPropertyInfo(TypeInfo target, PropertyInfo property) : base(
         target.type != null, target)
 {
     this.property = property ?? throw new ArgumentNullException(nameof(property));
     if (valid)
     {
         targetType.BuildGenericArgs();
         getValue = GenerateGetter(property);
         setValue = GenerateSetter(property);
         if (getValue == null)
         {
             throw new ArgumentException(string.Format("Cannot create property getter: {0}.{1}",
                                                       property.DeclaringType.FullName, property.Name));
         }
         if (setValue == null)
         {
             throw new ArgumentException(string.Format("Cannot create property setter: {0}.{1}",
                                                       property.DeclaringType.FullName, property.Name));
         }
     }
 }
Ejemplo n.º 2
0
 public DeserializationFieldInfo(TypeInfo target, FieldInfo field) : base(
         target.type != null, target)
 {
     this.field = field ?? throw new ArgumentNullException(nameof(field));
     if (valid)
     {
         targetType.BuildGenericArgs();
         getValue = GenerateGetter();
         setValue = GenerateSetter();
         if (getValue == null)
         {
             throw new ArgumentException(string.Format("Cannot create field getter: {0}.{1}",
                                                       field.DeclaringType.FullName, field.Name));
         }
         if (setValue == null)
         {
             throw new ArgumentException(string.Format("Cannot create field setter: {0}.{1}",
                                                       field.DeclaringType.FullName, field.Name));
         }
     }
 }