Exemplo n.º 1
0
        public static void FunctionOne <T1, T2>(T1 a, T2 b) where T2 : struct
        {
            Console.WriteLine("Type of a is =>" + a.GetType());
            Console.WriteLine("Type of b is =>" + b.GetType());

            Generic1 <Rectangle, RectangleAbstract> Obj1 = new Generic1 <Rectangle, RectangleAbstract>();
        }
Exemplo n.º 2
0
        static void Main()
        {
            // The Example type internally uses instances generic schemas Generic1 and Generic2
            var src = new Example
            {
                Field = { Field = new Generic2<int> { Field = 13 } }
            };

            // We can also instantiate generic schema in the C# program
            var src1 = new Generic1<Example> { Field = src };
            var src2 = new Generic2<double> {Field = 3.14};

            var output = new OutputBuffer();
            var writer = new CompactBinaryWriter<OutputBuffer>(output);

            Serialize.To(writer, src);
            Serialize.To(writer, src1);
            Serialize.To(writer, src2);

            var input = new InputBuffer(output.Data);
            var reader = new CompactBinaryReader<InputBuffer>(input);

            var dst = Deserialize<Example>.From(reader);
            Debug.Assert(Comparer.Equal(src, dst));

            var dst1 = Deserialize<Generic1<Example>>.From(reader);
            Debug.Assert(Comparer.Equal(src1, dst1));

            var dst2 = Deserialize<Generic2<double>>.From(reader);
            Debug.Assert(Comparer.Equal(src2, dst2));
        }
Exemplo n.º 3
0
        static void Main()
        {
            // The Example type internally uses instances generic schemas Generic1 and Generic2
            var src = new Example
            {
                Field = { Field     = new Generic2 <int> {
                              Field = 13
                          } }
            };

            // We can also instantiate generic schema in the C# program
            var src1 = new Generic1 <Example> {
                Field = src
            };
            var src2 = new Generic2 <double> {
                Field = 3.14
            };

            var output = new OutputBuffer();
            var writer = new CompactBinaryWriter <OutputBuffer>(output);

            Serialize.To(writer, src);
            Serialize.To(writer, src1);
            Serialize.To(writer, src2);

            var input  = new InputBuffer(output.Data);
            var reader = new CompactBinaryReader <InputBuffer>(input);

            var dst = Deserialize <Example> .From(reader);

            ThrowIfFalse(Comparer.Equal(src, dst));

            var dst1 = Deserialize <Generic1 <Example> > .From(reader);

            ThrowIfFalse(Comparer.Equal(src1, dst1));

            var dst2 = Deserialize <Generic2 <double> > .From(reader);

            ThrowIfFalse(Comparer.Equal(src2, dst2));
        }