C#反射机制

1.新建一个控制台程序  名称:ConsoleApplication5

2新建一个IName有接口写一个 ShowName()方法

 

using  System;

namespace  ConsoleApplication5
{
    
/// <summary>
    
/// IName 的摘要说明。
    
/// </summary>

    public interface IName
    
{
        
void ShowName();
    }

}

3写一个 ChineseName 类并继承 IName 实现 ShowName()方法

 

using  System;

namespace  ConsoleApplication5
{
    
/// <summary>
    
/// ChineseName 的摘要说明。
    
/// </summary>

    public class ChineseName:IName
    
{
        
        
IName 成员
    }

}

4.写一个 EnglishName 类 并继承 IName 实现 ShowName()方法

 

using  System;

namespace  ConsoleApplication5
{
    
/// <summary>
    
/// EnglishName 的摘要说明。
    
/// </summary>

    public class EnglishName:IName
    
{
        
IName 成员
    }

}

 

5.再写一个 AbstractFactory类用于反射  [引入:System.Reflection;命名空间]

 

using  System;
using  System.Reflection;
namespace  ConsoleApplication5
{
    
/// <summary>
    
/// AbstractFactory 的摘要说明。
    
/// </summary>

    public class AbstractFactory
    
{
        
public static IName GetName()
        
{
            
string str="ConsoleApplication5.ChineseName";
            IName name
=(IName)Assembly.Load("ConsoleApplication5").CreateInstance(str);
            
return name;
        }

    }

}

 

6.最后在主程序中调用

 

using  System;

namespace  ConsoleApplication5
{
    
/// <summary>
    
/// Class1 的摘要说明。
    
/// </summary>

    class Class1
    
{
        
/// <summary>
        
/// 应用程序的主入口点。
        
/// </summary>

        [STAThread]
        
static void Main(string[] args)
        
{
            IName name
=AbstractFactory.GetName();
            name.ShowName();
        }

    }

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值