现在的位置: 首页 > 综合 > 正文

反射技术的应用(2)

2014年03月04日 ⁄ 综合 ⁄ 共 1379字 ⁄ 字号 评论关闭

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Reflection;
//这个例子的应用场景是这样的
//我知道一个属性,像POTitle属性,
//而且知道其位于E:/Program/FongIan/Server
//文件夹内是以ServerData作后缀的DLL文件
//现在我的目的就是为了找出这个属性
//具体属于哪个DLL.
namespace DLLofTabelName
{
    
class Program
    
{
        
static void Main(string[] args)
        
{
            var TableName 
="";
            
if (args.Length > 0)
            
{      
                TableName 
= args[0];       
            }

            
else
            
{
                TableName 
= Console.ReadLine();
            }

            var FileName = Directory.GetFiles(@"E:/Program/FongIan/Server""*ServerData.dll");

                for (var i = 0; i < FileName.Length; i++)
                
{
                     
                        var myAssembly 
= Assembly.LoadFrom(FileName[i]);
                        
                        var myTypes 
= myAssembly.GetTypes();

                        foreach (var type in myTypes)
                        
{
                            
if (type.Name == TableName)
                            
{

                                Console.WriteLine("{0}表所在的DLL文件是:{1}", TableName,type.Module);
                            }

                            
                        }

                   
                }

                Console.ReadLine();
          }                                    
    }

}


抱歉!评论已关闭.