• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Serialization.SerializationInfo类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中System.Runtime.Serialization.SerializationInfo的典型用法代码示例。如果您正苦于以下问题:C# System.Runtime.Serialization.SerializationInfo类的具体用法?C# System.Runtime.Serialization.SerializationInfo怎么用?C# System.Runtime.Serialization.SerializationInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



System.Runtime.Serialization.SerializationInfo类属于命名空间,在下文中一共展示了System.Runtime.Serialization.SerializationInfo类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Deserialize

        private void Deserialize(XElement XElement, ISerializableObject SerializableObject)
        {
            System.Runtime.Serialization.SerializationInfo si = new System.Runtime.Serialization.SerializationInfo(SerializableObject.GetType(), new System.Runtime.Serialization.FormatterConverter());

            if (XElement != null)
            {
                foreach (XElement xelem in XElement.Elements())
                {
                    if (!xelem.HasElements && !string.IsNullOrEmpty(xelem.Value))
                    {
                        si.AddValue(xelem.Name.LocalName, xelem.Value);
                    }
                }

                if (SerializableObject.ChildrenSerializable != null)
                {
                    foreach (ISerializableObject childSerializable in SerializableObject.ChildrenSerializable.Where(p=> p!=null && !p.SerializationTag.IsEmpty))
                    {
                        XElement xelem = XElement.Elements().
                            Where(p => p.Name == childSerializable.SerializationTag.Type).
                            Where(p => XmlLinq.GetAttribute(p, "name") == childSerializable.SerializationTag.Name).FirstOrDefault();

                        Deserialize(xelem, childSerializable);
                    }
                }
            }
            
            SerializableObject.Deserialize(si);    
        }
开发者ID:data-avail,项目名称:DataAvail.WinForms,代码行数:29,代码来源:XMLSerializationFormatter.cs


示例2: ObjectHolder

 internal ObjectHolder(object obj, long objID, System.Runtime.Serialization.SerializationInfo info, ISerializationSurrogate surrogate, long idOfContainingObj, FieldInfo field, int[] arrayIndex)
 {
     this.m_object = obj;
     this.m_id = objID;
     this.m_flags = 0;
     this.m_missingElementsRemaining = 0;
     this.m_missingDecendents = 0;
     this.m_dependentObjects = null;
     this.m_next = null;
     this.m_serInfo = info;
     this.m_surrogate = surrogate;
     this.m_markForFixupWhenAvailable = false;
     if (obj is TypeLoadExceptionHolder)
     {
         this.m_typeLoad = (TypeLoadExceptionHolder) obj;
     }
     if ((idOfContainingObj != 0L) && (((field != null) && field.FieldType.IsValueType) || (arrayIndex != null)))
     {
         if (idOfContainingObj == objID)
         {
             throw new SerializationException(Environment.GetResourceString("Serialization_ParentChildIdentical"));
         }
         this.m_valueFixup = new ValueTypeFixupInfo(idOfContainingObj, field, arrayIndex);
     }
     this.SetFlags();
 }
开发者ID:randomize,项目名称:VimConfig,代码行数:26,代码来源:ObjectHolder.cs


示例3: GetObjectData

        public override void GetObjectData(SerializationInfo info, StreamingContext context) {
            if (info == null)
                throw new ArgumentNullException("info");

            base.GetObjectData(info, context);
            info.AddValue("ElementDescription", _elementDescription);
        }
开发者ID:EightPillars,项目名称:PathwayEditor,代码行数:7,代码来源:RewriteCardinalityException.cs


示例4: Serialize

        private void Serialize(XElement XElement, ISerializableObject SerializableObject)
        {
            System.Runtime.Serialization.SerializationInfo si = new System.Runtime.Serialization.SerializationInfo(SerializableObject.GetType(), new System.Runtime.Serialization.FormatterConverter());

            SerializableObject.Serialize(si);

            XElement elem = new XElement(SerializableObject.SerializationTag.Type);

            elem.Add(new XAttribute("name", SerializableObject.SerializationTag.Name));        

            foreach (System.Runtime.Serialization.SerializationEntry entry in si)
            {
                elem.Add(new XElement(entry.Name, entry.Value));
            }

            if (SerializableObject.ChildrenSerializable != null)
            {
                foreach (ISerializableObject childSerializable in SerializableObject.ChildrenSerializable.Where(p=>p != null))
                {
                    Serialize(elem, childSerializable);
                }
            }

            if (!elem.IsEmpty)
                XElement.Add(elem);
        }
开发者ID:data-avail,项目名称:DataAvail.WinForms,代码行数:26,代码来源:XMLSerializationFormatter.cs


示例5: MismatchedTreeNodeException

        protected MismatchedTreeNodeException(SerializationInfo info, StreamingContext context)
            : base(info, context) {
            if (info == null)
                throw new ArgumentNullException("info");

            this._expecting = info.GetInt32("Expecting");
        }
开发者ID:EightPillars,项目名称:PathwayEditor,代码行数:7,代码来源:MismatchedTreeNodeException.cs


示例6: RewriteCardinalityException

        protected RewriteCardinalityException(SerializationInfo info, StreamingContext context)
            : base(info, context) {
            if (info == null)
                throw new ArgumentNullException("info");

            _elementDescription = info.GetString("ElementDescription");
        }
开发者ID:EightPillars,项目名称:PathwayEditor,代码行数:7,代码来源:RewriteCardinalityException.cs


示例7: MismatchedSetException

        protected MismatchedSetException(SerializationInfo info, StreamingContext context)
            : base(info, context) {
            if (info == null)
                throw new ArgumentNullException("info");

            this._expecting = (BitSet)info.GetValue("Expecting", typeof(BitSet));
        }
开发者ID:jjchaverra,项目名称:antlr3,代码行数:7,代码来源:MismatchedSetException.cs


示例8: GetObjectData

        public override void GetObjectData(SerializationInfo info, StreamingContext context) {
            if (info == null)
                throw new ArgumentNullException("info");

            base.GetObjectData(info, context);
            info.AddValue("DecisionNumber", DecisionNumber);
        }
开发者ID:EightPillars,项目名称:PathwayEditor,代码行数:7,代码来源:EarlyExitException.cs


示例9: EarlyExitException

        protected EarlyExitException(SerializationInfo info, StreamingContext context)
            : base(info, context) {
            if (info == null)
                throw new ArgumentNullException("info");

            this._decisionNumber = info.GetInt32("DecisionNumber");
        }
开发者ID:EightPillars,项目名称:PathwayEditor,代码行数:7,代码来源:EarlyExitException.cs


示例10: FailedPredicateException

        protected FailedPredicateException(SerializationInfo info, StreamingContext context)
            : base(info, context) {
            if (info == null)
                throw new ArgumentNullException("info");

            this._ruleName = info.GetString("RuleName");
            this._predicateText = info.GetString("PredicateText");
        }
开发者ID:EightPillars,项目名称:PathwayEditor,代码行数:8,代码来源:FailedPredicateException.cs


示例11: MismatchedRangeException

        protected MismatchedRangeException(SerializationInfo info, StreamingContext context)
            : base(info, context) {
            if (info == null)
                throw new ArgumentNullException("info");

            this._a = info.GetInt32("A");
            this._b = info.GetInt32("B");
        }
开发者ID:ranjunchao,项目名称:antlr3,代码行数:8,代码来源:MismatchedRangeException.cs


示例12: NoViableAltException

        protected NoViableAltException(SerializationInfo info, StreamingContext context)
            : base(info, context) {
            if (info == null)
                throw new ArgumentNullException("info");

            this._grammarDecisionDescription = info.GetString("GrammarDecisionDescription");
            this._decisionNumber = info.GetInt32("DecisionNumber");
            this._stateNumber = info.GetInt32("StateNumber");
        }
开发者ID:jjchaverra,项目名称:antlr3,代码行数:9,代码来源:NoViableAltException.cs


示例13: DuplicateMethodException

 protected DuplicateMethodException(SerializationInfo info, StreamingContext context) :
     base(info, context) {}
开发者ID:BackupTheBerlios,项目名称:jayrock-svn,代码行数:2,代码来源:DuplicateMethodException.cs


示例14: ApplicationException

        /// <summary>
        /// Initializes a new instance of the <see cref="ApplicationException"/> class 
        /// with serialized data.
        /// </summary>

        protected ApplicationException(SerializationInfo info, StreamingContext context) : 
            base(info, context) {}
开发者ID:ramsenthil18,项目名称:elmah.1x,代码行数:7,代码来源:ApplicationException.cs


示例15: MissingTokenException

 protected MissingTokenException(SerializationInfo info, StreamingContext context)
     : base(info, context)
 {
 }
开发者ID:mahanteshck,项目名称:antlrcs,代码行数:4,代码来源:MissingTokenException.cs


示例16: UpdateData

 internal void UpdateData(object obj, System.Runtime.Serialization.SerializationInfo info, ISerializationSurrogate surrogate, long idOfContainer, FieldInfo field, int[] arrayIndex, ObjectManager manager)
 {
     this.SetObjectValue(obj, manager);
     this.m_serInfo = info;
     this.m_surrogate = surrogate;
     if ((idOfContainer != 0L) && (((field != null) && field.FieldType.IsValueType) || (arrayIndex != null)))
     {
         if (idOfContainer == this.m_id)
         {
             throw new SerializationException(Environment.GetResourceString("Serialization_ParentChildIdentical"));
         }
         this.m_valueFixup = new ValueTypeFixupInfo(idOfContainer, field, arrayIndex);
     }
     this.SetFlags();
     if (this.RequiresValueTypeFixup)
     {
         this.UpdateDescendentDependencyChain(this.m_missingElementsRemaining, manager);
     }
 }
开发者ID:randomize,项目名称:VimConfig,代码行数:19,代码来源:ObjectHolder.cs


示例17: TargetMethodException

 protected TargetMethodException(SerializationInfo info, StreamingContext context) :
     base(info, context) {}
开发者ID:BackupTheBerlios,项目名称:jayrock-svn,代码行数:2,代码来源:TargetMethodException.cs


示例18: HttpValuesCollection

 private HttpValuesCollection(SerializationInfo info, StreamingContext context)
     : base(info, context)
 {
 }
开发者ID:spbooks,项目名称:ASPNETANT1,代码行数:4,代码来源:HttpValuesCollection.cs


示例19:

 void ISerializable.GetObjectData(
                                         SerializationInfo   info, 
                                         StreamingContext    context
                                     )
 {
     ((ISerializable) this.value).GetObjectData(info, context);
 }
开发者ID:jeremybade,项目名称:atomic,代码行数:7,代码来源:DateTimeOffset.cs


示例20: GetObjectData

        public override void GetObjectData(SerializationInfo info, StreamingContext context) {
            if (info == null)
                throw new ArgumentNullException("info");

            base.GetObjectData(info, context);
            info.AddValue("RuleName", _ruleName);
            info.AddValue("PredicateText", _predicateText);
        }
开发者ID:EightPillars,项目名称:PathwayEditor,代码行数:8,代码来源:FailedPredicateException.cs



注:本文中的System.Runtime.Serialization.SerializationInfo类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Serialization.StreamingContext类代码示例发布时间:2022-05-24
下一篇:
C# Binary.BinaryFormatter类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap