














1
using System;
2
using System.Reflection;
3
4
namespace 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
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。