コード例 #1
0
 public XmlNode Serial(Object _object, SerialAttribute _attribute, XmlDocument _doc, string _nameField)
 {
     if (_object != null)
     {
         XmlElement root       = null;
         Serialable serialable = (Serialable)(_object);
         if (serialable == null)
         {
             return(null);
         }
         if (_attribute.GetIsReference() ==
             SerialAttribute.AttributePolicy.PolicyReference)
         {
             root = _doc.CreateElement(((Serialable)(_object)).GetThisType().Name);
             root.SetAttribute("value", serialable.GUID);
         }
         else if (_attribute.GetIsReference() ==
                  SerialAttribute.AttributePolicy.PolicyCopy)
         {
             root = (XmlElement)serialable.DoSerial(_doc);
         }
         root.SetAttribute("name", _nameField);
         return(root);
     }
     else
     {
         return(null);
     }
 }
コード例 #2
0
 public Object Unserial(Pointer _pointer, SerialAttribute _attribute, XmlNode _fieldNode, Dictionary <Pointer, string> _delayBindingTable)
 {
     if (_attribute.GetIsReference() ==
         SerialAttribute.AttributePolicy.PolicyReference)
     {
         _delayBindingTable.Add(_pointer, ((XmlElement)_fieldNode).GetAttribute("value"));
         return(null);
     }
     else if (_attribute.GetIsReference() ==
              SerialAttribute.AttributePolicy.PolicyCopy)
     {
         Serialable obj = Serialable.DoUnserial(_fieldNode);
         return(obj);
     }
     return(null);
 }