.net中模块

对于初学者我来说,很多东西我都不知道。希望大家多多帮助!

.net使用反射时会使用到模块这个概念。对于模块这个概念我的解释就是你可以将一个模块理解为一个命名空间。下面是我写的代码。可以参考一下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace TestAssembly_2
{
    class Program
    {
        static void Main(string[] args)
        {

            //loadFrom已知程序集的名称,加载程序集

           //加载之前需要将TestAssembly_1.exe拷贝到当前程序目录下

            Assembly assembly = Assembly.LoadFrom("TestAssembly_1.exe");
            //获取程序集的所有模块
            //可以将module理解为一个命名空间
           Module[] moudules =  assembly.GetModules();
           Console.WriteLine("获取当前加载的程序集(也就是命名空间):"+moudules[0].Name);
            //获得类
          Type[] type =  moudules[0].GetTypes();
          Console.WriteLine("类名:"+type[0].Name);
          //获得里面的方法
          MemberInfo[] mInFo = type[0].GetMethods();
          foreach(MemberInfo i in mInFo){
             //得到别的类中的方法
             Console.WriteLine(i.Name);
         }
        }

    }

运行结果如下:

如图所示:是任何一个类中公共拥有的方法。自定以的方法没有打印出来。再一看反射的程序里面定义的方法都是private...改成public就可以了。。。








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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值