Example #1
0
            public static void BuildChild(CodeToolBase _codetool, object _fieldobj, ProtoBufferWriterCSLS _writer)
            {
                if (_fieldobj == null)
                {
                    _writer.FieldNumberForward();
                    return;
                }
                BuilderObjectWriterBaseCSLS tobj = null;

                if (_codetool.IsLSType(_fieldobj.GetType()))
                {
                    tobj = new BuilderObjectWriterObjectCSLS(_codetool, _fieldobj);
                }
                else
                {
                    Type ttype = _fieldobj.GetType();
                    if (ttype.ToString().Contains("List"))
                    {
                        tobj = new BuilderObjectWriterArrayCSLS(_codetool, _fieldobj);
                    }
                    else
                    {
                        tobj = new BuilderObjectWriterDefaultCSLS(_codetool, _fieldobj);
                    }
                }
                tobj.WriteMember(_writer);
            }
Example #2
0
 private void BuildMember()
 {
     if (mObject == null)
     {
         return;
     }
     IType[] ttypes = mCodeTool.GetFieldTypes(mType);
     for (int i = 0; i < ttypes.Length; i++)
     {
         object tfield = mCodeTool.GetMemberByIndex(mType, i, mObject);
         BuilderObjectWriterBaseCSLS.BuildChild(mCodeTool, tfield, mWriter);
     }
 }