public void GetTypeOfSubtypeWithDoubleInheritance()
        {
            var derived = new DerivedOfDerived();

            Assert.AreEqual(derived.GetType().Name, "DerivedOfDerived");
            Assert.AreEqual(derived.GetType(), SubtypeUtility.GetTypeOfSubtype((Super)derived));
            Assert.AreEqual(derived.GetType(), SubtypeUtility.GetTypeOfSubtype((Derived)derived));
        }
示例#2
0
        static void Main(string[] args)
        {
            Base                 baseObj             = new Base();
            Derived              derivedObj          = new Derived();
            DerivedOfDerived     derivedOfDerivedObj = new DerivedOfDerived();
            IsAndAsFunctionality fobj            = new IsAndAsFunctionality();
            bool                 status          = fobj.IsFunctionality(derivedObj, derivedOfDerivedObj.GetType());
            object               convertedObject = fobj.AsFunctionality <DerivedOfDerived>(derivedObj, derivedOfDerivedObj.GetType());

            Console.WriteLine(status);
            Console.WriteLine(convertedObject);
        }