internal fsMetaProperty(FieldInfo field) { this.Field = field; var attr = Field.RTGetAttribute <fsSerializeAsAttribute>(true); this.JsonName = attr != null && !string.IsNullOrEmpty(attr.Name) ? attr.Name : field.Name; this.ReadOnly = Field.RTIsDefined <fsReadOnlyAttribute>(true); this.WriteOnly = Field.RTIsDefined <fsWriteOnlyAttribute>(true); var autoInstanceAtt = StorageType.RTGetAttribute <fsAutoInstance>(true); this.AutoInstance = autoInstanceAtt != null && autoInstanceAtt.makeInstance && !StorageType.IsAbstract; this.AsReference = Field.RTIsDefined <fsSerializeAsReference>(true); }