示例#1
0
        public void Serialize(IntermediateFormatWriter writer)
        {
            writer.RegisterDeclaration(ParametersImplWrapper.m_Declaration);
            while (writer.NextMember())
            {
                switch (writer.CurrentMember.MemberName)
                {
                case MemberName.Parameters:
                {
                    ParameterImplWrapper[] array = null;
                    if (this.m_opdParameters.Collection != null)
                    {
                        array = new ParameterImplWrapper[this.m_opdParameters.Collection.Length];
                        for (int i = 0; i < array.Length; i++)
                        {
                            if (this.m_opdParameters.Collection[i] != null)
                            {
                                array[i] = new ParameterImplWrapper(this.m_opdParameters.Collection[i]);
                            }
                        }
                    }
                    writer.Write(array);
                    break;
                }

                case MemberName.Names:
                    writer.WriteStringInt32Hashtable(this.m_opdParameters.NameMap);
                    break;

                case MemberName.Count:
                    writer.Write(this.m_opdParameters.Count);
                    break;

                default:
                    Global.Tracer.Assert(false);
                    break;
                }
            }
        }