public PropertieDefinition(Type type, FieldInfo fieldInfo)
 {
     Name            = fieldInfo.Name;
     Type            = fieldInfo.FieldType;
     _getter         = ObjectAccessors.CreatePropertyGetter(type, fieldInfo.Name);
     _propertySetter = ObjectAccessors.CreatePropertySetter(type, fieldInfo.Name);
 }
 public PropertieDefinition(Type type, PropertyInfo propertyInfo)
 {
     Name            = propertyInfo.Name;
     Type            = propertyInfo.PropertyType;
     _getter         = ObjectAccessors.CreatePropertyGetter(type, propertyInfo.Name);
     _propertySetter = ObjectAccessors.CreatePropertySetter(type, propertyInfo.Name);
 }
 public PropertieDefinition(Type type, FieldInfo fieldInfo, string name)
 {
     Name            = string.IsNullOrEmpty(name) ? fieldInfo.Name : name;
     TypeDefinition  = TypeDefinitionCache.GetDefinition(fieldInfo.FieldType);
     IsWritable      = !fieldInfo.IsInitOnly;
     _getter         = ObjectAccessors.CreatePropertyGetter(type, fieldInfo.Name);
     _propertySetter = CreateSetter(type, fieldInfo.Name);
 }
 public PropertieDefinition(Type type, PropertyInfo propertyInfo, string name)
 {
     Name            = string.IsNullOrEmpty(name) ? propertyInfo.Name : name;
     TypeDefinition  = TypeDefinitionCache.GetDefinition(propertyInfo.PropertyType);
     IsWritable      = propertyInfo.CanWrite;
     _getter         = ObjectAccessors.CreatePropertyGetter(type, propertyInfo.Name);
     _propertySetter = CreateSetter(type, propertyInfo.Name);
 }