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); }