想获取DLL中的方法列表 异常处理 请教
现在小弟做一个小程序 想获取DLL中的方法列表。但下面的程序在运行中出现了以下异常,思考许久不得其解。还望有好心大哥 帮帮忙这点一二。
出现异常:
未能加载文件或程序集“f:\\BHData.dll”或它的某一个依赖项。给定程序集名称或基本代码无效。 (异常来自 HRESULT:0x80131047)
代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace OutPutDLLInformation
{
class Program
{
static void Main(string[] args)
{
Assembly asm = Assembly.Load(@"f:\BHData.dll");
Type myType = asm.GetType();
// 获取公共方法
MethodInfo[] myArrayMethodInfo = myType.GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly);
Program p=new Program();
Console.WriteLine( p.getMethodInfo(myArrayMethodInfo));
}
/// <summary>
/// get Method informations from MethodInfo[] Array:
/// </summary>
/// <param name="myArrayMethodInfo"></param>
/// <returns></returns>
public string getMethodInfo(MethodInfo[] myArrayMethodInfo)
{
string methodStr = "";
///
///getinformation for all methods.
for (int i = 0; i < myArrayMethodInfo.Length; i++)
{
MethodInfo myMethodInfo = (MethodInfo)myArrayMethodInfo[i];
methodStr += "Method " + i + " :" + myMethodInfo.Name + Environment.NewLine;
}
return methodStr;
}
/// <summary>
/// get properties information from PropertyInfo[] Array:
/// </summary>
/// <param name="myPropertyInfo"></param>
/// <returns></returns>
public string getPropertyInfo(PropertyInfo[] myPropertyInfo)
{
string propStr = "";
// Display information for all properties.
for (int i = 0; i < myPropertyInfo.Length; i++)
{
PropertyInfo myPropInfo = (PropertyInfo)myPropertyInfo[i];
propStr += "property " + i + ":" + myPropInfo.Name + " type:" + myPropInfo.PropertyType + Environment.NewLine;
}
return propStr;
}
}
}