コード例 #1
0
        public void AllTest()
        {
            var info = new ClonedInfo();

            info.SetField1(1);
            info.SetField2(2);
            info.SetProperty2(4);
            info.Size    = new Rectangle(5, 5, 20, 10);
            info.Version = typeof(Cloneable <>).Assembly.GetName().Version;

            var cloneable = new Cloneable <ClonedInfo>(info);

            var info1 = (ClonedInfo)cloneable.Clone();

            Assert.True(info.Field1Equals(info1));
            Assert.True(info.Property2Equals(info1));
            Assert.Equal(info.Field2, info1.Field2);
            Assert.Equal(info.Property1, info1.Property1);

            var info2 = cloneable.CloneAs();

            Assert.True(info.Field1Equals(info2));
            Assert.True(info.Property2Equals(info2));
            Assert.Equal(info.Field2, info2.Field2);
            Assert.Equal(info.Property1, info2.Property1);
        }
コード例 #2
0
 public bool Property2Equals(ClonedInfo other)
 => Property2 == other.Property2;
コード例 #3
0
 public bool Field1Equals(ClonedInfo other)
 => _field1 == other._field1;