本文整理汇总了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类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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);
}
示例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();
}
示例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);
}
示例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);
}
示例5: MismatchedTreeNodeException
protected MismatchedTreeNodeException(SerializationInfo info, StreamingContext context)
: base(info, context) {
if (info == null)
throw new ArgumentNullException("info");
this._expecting = info.GetInt32("Expecting");
}
示例6: RewriteCardinalityException
protected RewriteCardinalityException(SerializationInfo info, StreamingContext context)
: base(info, context) {
if (info == null)
throw new ArgumentNullException("info");
_elementDescription = info.GetString("ElementDescription");
}
示例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));
}
示例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);
}
示例9: EarlyExitException
protected EarlyExitException(SerializationInfo info, StreamingContext context)
: base(info, context) {
if (info == null)
throw new ArgumentNullException("info");
this._decisionNumber = info.GetInt32("DecisionNumber");
}
示例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");
}
示例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");
}
示例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");
}
示例13: DuplicateMethodException
protected DuplicateMethodException(SerializationInfo info, StreamingContext context) :
base(info, context) {}
示例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) {}
示例15: MissingTokenException
protected MissingTokenException(SerializationInfo info, StreamingContext context)
: base(info, context)
{
}