示例#1
0
        public void Should_reflect_object_tree_onlcuding_circular_references()
        {
            var sourceB1 = new SubClassB {
                Id = 1
            };
            var sourceB2 = new SubClassB {
                Id = 2
            };
            var sourceA = new SubClassA {
                Id = 3
            };

            sourceB1.BaseClassReference = sourceB1;
            sourceB2.BaseClassReference = sourceB1;
            sourceA.SubClassBReference  = sourceB2;

            var dynamicObject = new DynamicObject(sourceA);

            dynamicObject["Id"].ShouldBe(sourceA.Id);

            var referenceFromAToB2 = dynamicObject["SubClassBReference"] as DynamicObject;

            referenceFromAToB2.ShouldBeOfType <DynamicObject>();
            referenceFromAToB2["Id"].ShouldBe(sourceB2.Id);

            var referenceFromB2ToB1 = referenceFromAToB2["BaseClassReference"] as DynamicObject;

            referenceFromB2ToB1.ShouldBeOfType <DynamicObject>();
            referenceFromB2ToB1["Id"].ShouldBe(sourceB1.Id);

            referenceFromB2ToB1["BaseClassReference"].ShouldBeSameAs(referenceFromB2ToB1);
        }
示例#2
0
        private void button2_Click(object sender, EventArgs e)
        {
            // Check Is Subclass (sub class type)
            pgGeneral.SelectedObject = null;
            Type   baseType = typeof(ClassA);
            var    inst     = new SubClassA();
            var    result   = inst.GetType().IsSubclassOf(baseType);
            string msg      = string.Format("SubClassA is Subclass of ClassA: {0}", result);

            pgGeneral.SelectedObject = OutputResult.Create(msg);
        }
    public void Init()
    {
        this.data = "hoge";
        this.count = 100;

        this.a = new SubClassA();
        this.a.Init();

        this.stringList.Add("This");
        this.stringList.Add("Is");
        this.stringList.Add("A");
        this.stringList.Add("Test");

        this.bList.Add(new SubClassB{ name = "Hello" });
        this.bList.Add(new SubClassB{ name = "World" });
    }
示例#4
0
    public static void Main()
    {
        TopClass  t  = new TopClass();
        TopClass  t1 = new SubClassA();
        SubClassA s1 = new SubClassA();

        t  = Bar(t);
        t1 = Bar(t1);
        s1 = Bar(s1);
        if (1 != t.retVal)
        {
            Console.WriteLine("t is messed");
        }
        if (2 != s1.retVal)
        {
            Console.WriteLine("s1 is messed");
        }
        if (2 != t1.retVal)
        {
            Console.WriteLine("t1 is messed");
        }
    }
示例#5
0
 public MainClass()
 {
     A = new SubClassA(this);
     B = new SubClassB(this);
 }
示例#6
0
 private static SubClassA Foo(SubClassA x)
 {
     x.retVal = 2;
     return(x);
 }