コード例 #1
0
ファイル: XSerializer.cs プロジェクト: CXuesong/XSerializer
 public XSerializer(Type rootType, IEnumerable<Type> includedTypes, XSerializableSurrogateCollection serializableSurrogates)
 {
     if (rootType == null) throw new ArgumentNullException("rootType");
     builder = new XSerializerBuilder(serializableSurrogates);
     builder.RegisterBuiltInTypes();
     builder.RegisterRootType(rootType);
     if (includedTypes == null) return;
     foreach (var t in includedTypes)
     {
         if (t != null) builder.RegisterType(t);
     }
 }
コード例 #2
0
 public void SerializeARectangle()
 {
     var surrogates = new XSerializableSurrogateCollection
     {
         new ColorXSSSurrogate()
     };
     var s = new XSerializer(typeof(Rectangle), null, surrogates);
     var obj = new Rectangle
     {
         Point1 = new Point(123.45, 678.9012),
         Point2 = new Point(350, 850),
         BorderColor = Color.FromArgb(127, 100, 50, 100),
         FillColor = Color.CadetBlue,
         FillMode = FillMode.Alternate
     };
     var doc = s.GetSerializedDocument(obj);
     Trace.WriteLine(doc);
     var obj1 = (Rectangle)s.Deserialize(doc, null);
     Assert.AreEqual(obj.BorderColor, obj1.BorderColor);
     Assert.AreEqual(obj.FillColor, obj1.FillColor);
     Assert.AreEqual(obj.Point1, obj1.Point1);
     Assert.AreEqual(obj.Point2, obj1.Point2);
     Assert.AreEqual(obj.FillMode, obj1.FillMode);
 }