Class ReadingStrategy
  
  Represents logic that resolves POD data types and field layouts to CLR types/layouts.
Extend this type and pass its instance into PortableObjectDocument.ToOriginalObject(ReadingStrategy)
 
  
  
    Inheritance
    System.Object
    ReadingStrategy
   
  
    Inherited Members
    
      System.Object.Equals(System.Object)
    
    
      System.Object.Equals(System.Object, System.Object)
    
    
      System.Object.GetHashCode()
    
    
      System.Object.GetType()
    
    
      System.Object.MemberwiseClone()
    
    
      System.Object.ReferenceEquals(System.Object, System.Object)
    
    
      System.Object.ToString()
    
   
  
  Assembly: NFX.dll
  Syntax
  
    public class ReadingStrategy
   
  Constructors
  
  
  
  
  ReadingStrategy()
  
  
  Declaration
  
    protected ReadingStrategy()
   
  Properties
  
  
  
  
  Default
  Returns an instance of default strategy
 
  
  Declaration
  
    public static ReadingStrategy Default { get; }
   
  Property Value
  
  Methods
  
  
  
  
  CompositeToNative(CompositeData)
  Resolves composite data into CLR object
 
  
  Declaration
  
    public virtual object CompositeToNative(CompositeData data)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Object | 
         | 
      
    
  
  
  
  
  ConstructObject(CompositeData)
  Constructs object out of CompositeData. This implementation calls ResolveType then tries to invoke attribute constructor first
then create instance using default ctor
 
  
  Declaration
  
    public virtual object ConstructObject(CompositeData data)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Object | 
         | 
      
    
  
  
  
  
  DeserializeArray(Array, CompositeArrayData)
  
  
  Declaration
  
    public virtual void DeserializeArray(Array array, CompositeArrayData data)
   
  Parameters
  
  
  
  
  DeserializeObjectFromCompositeCustomData(Object, CompositeCustomData)
  
  
  Declaration
  
    public virtual void DeserializeObjectFromCompositeCustomData(object instance, CompositeCustomData data)
   
  Parameters
  
  
  
  
  DeserializeObjectFromCompositeReflectedData(Object, CompositeReflectedData)
  
  
  Declaration
  
    public virtual void DeserializeObjectFromCompositeReflectedData(object instance, CompositeReflectedData data)
   
  Parameters
  
  
  
  
  DeserializeSerializationInfo(Type, CompositeCustomData, StreamingContext)
  Performs deserialization of SerializationInfo from CompositeCustomData bag
 
  
  Declaration
  
    protected virtual SerializationInfo DeserializeSerializationInfo(Type objType, CompositeCustomData data, StreamingContext context)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Type | 
        objType | 
         | 
      
      
        | CompositeCustomData | 
        data | 
         | 
      
      
        | System.Runtime.Serialization.StreamingContext | 
        context | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Runtime.Serialization.SerializationInfo | 
         | 
      
    
  
  
  
  
  MakeNewArrayInstance(CompositeArrayData)
  Creates an array instance described by the CompositeArrayData instance
 
  
  Declaration
  
    public virtual object MakeNewArrayInstance(CompositeArrayData arrayData)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Object | 
         | 
      
    
  
  
  
  
  MakeNewObjectInstanceUsingDefaultCtor(Type)
  Creates an object using its default .ctor. This implementation uses "magic" to create uninit buffer first
 
  
  Declaration
  
    public virtual object MakeNewObjectInstanceUsingDefaultCtor(Type clrType)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Type | 
        clrType | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Object | 
         | 
      
    
  
  
  
  
  
  Resolves a meta field definition into actual native field. Returns null wen resolution is not possible and field should be skipped
 
  
  Declaration
  
    public virtual FieldInfo ResolveField(Type nativeType, MetaComplexType.MetaField mfield)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Reflection.FieldInfo | 
         | 
      
    
  
  
  
  
  
  Resolves a MetaType instance from a particular document into CLR Type, i.e. an obsolete class named "ABC" may be resolved into
newer class "ABCX"
 
  
  Declaration
  
    public virtual Type ResolveType(MetaType metaType)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Type | 
         | 
      
    
  
  
  
  
  
  Performs the assignment of portable data into native field
 
  
  Declaration
  
    public virtual void SetFieldData(object instance, FieldInfo fieldInfo, CompositeReflectedData data, MetaComplexType.MetaField mfield)
   
  Parameters
  
  Extension Methods