惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
GbyAI
GbyAI
Engineering at Meta
Engineering at Meta
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
H
Hackread – Cybersecurity News, Data Breaches, AI and More
WordPress大学
WordPress大学
博客园_首页
美团技术团队
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
J
Java Code Geeks
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
T
The Blog of Author Tim Ferriss
Microsoft Azure Blog
Microsoft Azure Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog
雷峰网
雷峰网
爱范儿
爱范儿

博客园 - gamebaby

去掉rhel 6的缺少授权证书提示 c++消息 脚踏实地向前走 读xml内容 - gamebaby - 博客园 Invoke 项目经理应该知道的. Clear Sqlserver log 获取表信息 Email(VB.net) - gamebaby - 博客园 Email(C#) - gamebaby - 博客园 主外键 转义符 常规触发器 创建数据库 触发器 CASE 语句 事务处理 游标例子2(转载) 游标例子1(转载)
InvokeMember
gamebaby · 2007-07-05 · via 博客园 - gamebaby

 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  阅读(695)  评论(0)    收藏  举报

刷新页面返回顶部