BackendlessAPI.IO.UnderflowWriter.onWriteObject C# (CSharp) Метод

onWriteObject() защищенный Метод

protected onWriteObject ( object obj, string className, IDictionary objectFields, Weborb.Writer.IProtocolFormatter writer ) : void
obj object
className string
objectFields IDictionary
writer Weborb.Writer.IProtocolFormatter
Результат void
    protected override void onWriteObject( object obj, string className, IDictionary objectFields, IProtocolFormatter writer )
    {
      IDictionary<string, object> underflowData = UnderflowStore.GetObjectUnderflow( obj );

      if( underflowData != null )
      {
        int lastIndex = className.LastIndexOf( '.' );

        if( lastIndex > -1 )
          className = className.Substring( lastIndex + 1 );

        foreach( string key in underflowData.Keys )
          if( !objectFields.Contains( key ) && underflowData[ key ] != null )
            objectFields[ key ] = underflowData[ key ];
      }

      if( !className.StartsWith( "flex.messaging.messages" ) && !className.StartsWith( "com.backendless" ) )
      {
        if( objectFields.Contains( "___class" ) )
          className = (String) objectFields[ "___class" ];
        else
        {
          int dotIndex = className.LastIndexOf( '+' );

          if( dotIndex == -1 )
            dotIndex = className.LastIndexOf( '.' );

          if( dotIndex > -1 )
            className = className.Substring( dotIndex + 1 );

          objectFields.Add( "___class", className );
        }

        className = null;
      }

      writer.GetObjectSerializer().WriteObject( className, objectFields, writer );
    }
  }
UnderflowWriter