1using System;
 2using System.Reflection;
 3
 4namespace Test
 5{
 6    public interface ICClassA
 7    {
 8        ICClassB GetB();
 9    }

10    public interface ICClassB
11    {
12        ICClassC GetC();
13    }

14    public interface ICClassC
15    {
16        ICClassA GetA();
17    }

18    public class ClassA : ICClassA
19    {
20        public ICClassB GetB()
21        {
22            return new ClassB() as ICClassB;
23        }

24    }

25    public class ClassB : ICClassB
26    {
27        public ICClassC GetC()
28        {
29            return new ClassC() as ICClassC;
30        }

31    }

32    public class ClassC : ICClassC
33    {
34        public ICClassA GetA()
35        {
36            return new ClassA() as ICClassA;
37        }

38    }

39    public class test
40    {
41        public static string GetInfo()
42        {
43            System.Type typeA = typeof(ClassA);
44            System.Type typeB = typeof(ClassB);
45            System.Type typeC = typeof(ClassC);
46            object objA = Activator.CreateInstance(typeA);
47            object objB = typeA.InvokeMember("GetB", BindingFlags.InvokeMethod, null, objA, null);
48            object objC = typeB.InvokeMember("GetC", BindingFlags.InvokeMethod, null, objB, null);
49            return objA.GetType().ToString() + "+" + objB.GetType().ToString() + "+" + objC.GetType().ToString();
50        }

51    }

52}

53
 posted on 2007-07-05 18:04  gamebaby  阅读(689)  评论(0编辑  收藏  举报