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

推荐订阅源

D
Docker
博客园 - 【当耐特】
S
SegmentFault 最新的问题
阮一峰的网络日志
阮一峰的网络日志
大猫的无限游戏
大猫的无限游戏
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
Y
Y Combinator Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
B
Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理

博客园 - 经霄

Microsoft ProClarity 6.3 releases to manufacturing Windows Services中使用MSBuild实现Build Automation Management VSS Object Model Google Service AS2005中的维度安全性简介【转】 学位英语通过,特此庆祝一下 VS2005常用插件 AMO编程 - 经霄 - 博客园 Analysis Management Object对象模型 华为前员工:揭密华为“薪酬真相”【转】 VS2005中读写配置文件(一) 微软笔试试题——11月13日,2005年 Structure of the Basic MDX Query(转) 使用ADOMD.NET建立与Analysis Services的连接 IT公司薪水调查 ADOMD.net概述 SQL与MDX语法的比较 AdventureWorks数据库的安装 多维联机数据分析模型和系统设计方法[转]
使用反射动态创建类的实例 - 经霄 - 博客园
经霄 · 2006-05-10 · via 博客园 - 经霄

   public interface IWriter
    
{
        
void Write();
    }

    
    
public class LogWriter:IWriter
    
{
        
public static int typeID;


        
IWriter Members
    }

  Assembly assembly = Assembly.GetExecutingAssembly();
            Module[] modules 
= assembly.GetModules();
            
if (modules != null)
            
{                   
                
foreach (Module obj in modules)
                
{
                    Type[] types 
= obj.GetTypes();
                    
foreach (Type objType in types)
                    
{
                        
if (objType.Name == "LogWriter")
                        
{
                            
try
                            
{
                                objType.InvokeMember(
"typeID", BindingFlags.SetField | BindingFlags.Public | BindingFlags.Static, nullnullnew object[] 1200 });
                                                        
                                IWriter writer 
=  (IWriter)Activator.CreateInstance(objType, false);
                                writer.Write();
                            }

                            
catch (Exception err)
                            
{
                                Console.WriteLine(err.Message);
                            }

                        }

                    }


                }

            }

Useful classes:

Assembly
Module
Type
Activator
System.Reflection namespace is essential before using these classes!