/// <summary>
 /// Handles the assignemnt from ReflectedData into CLR fieldInfo. Override to make conversions, i.e. string to bool, int to string etc...
 /// Return true to indicate that default framework implementation should not be called
 /// </summary>
 public abstract bool SetFieldValue(ReadingStrategy readingStrategy, object instance, FieldInfo fieldInfo,  CompositeReflectedData data, MetaComplexType.MetaField mfield);
 /// <summary>
 /// Resolves a meta field definition into actual native field. Returns null wen resolution is not possible and field should be skipped
 /// </summary>
 public abstract FieldInfo ResolveField(Type nativeType, MetaComplexType.MetaField mfield);
Exemplo n.º 3
0
 /// <summary>
 /// Performs the assignment of portable data into native field
 /// </summary>
 public virtual void SetFieldData(object instance, FieldInfo fieldInfo, CompositeReflectedData data, MetaComplexType.MetaField mfield)
 {
     var nativeData = data.Document.PortableDataToNativeData(this, data.m_FieldData[mfield.m_Index]);
     fieldInfo.SetValue(instance, nativeData);
 }
Exemplo n.º 4
0
 public string Rename(MetaComplexType complexType)
 {
     return complexType.Name;
 }
Exemplo n.º 5
0
 /// <summary>
 /// Resolves a meta field definition into actual native field. Returns null wen resolution is not possible and field should be skipped
 /// </summary>
 public virtual FieldInfo ResolveField(Type nativeType, MetaComplexType.MetaField mfield)
 {
     var fname = mfield.FieldName;
        var fi = nativeType.GetField(fname, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
        if (fi.IsNotSerialized) return null;
        return fi;
 }