假设说我现在有一个外部的test.dll现在我想看下这个dll 里面到底都有哪些方法 变量什么的。
这个dll是一个GSM模块,我下一步要调用它。
现在我建了一上winform的控制台程序。
我现在怎么放到我的项目中 ,引用 ,访问。
要详细代码。步骤。 谁帮我结解了 70分全给他。 不管代码简单还怎么样 ,能帮我把这个问题结解了就值70分!!
这个dll是一个GSM模块,我下一步要调用它。
现在我建了一上winform的控制台程序。
我现在怎么放到我的项目中 ,引用 ,访问。
要详细代码。步骤。 谁帮我结解了 70分全给他。 不管代码简单还怎么样 ,能帮我把这个问题结解了就值70分!!
.net写的你直接添加引用,在对象浏览器看。
你给讲一个什么是标准 是不是标准啊 。 对了你们说的那个 器 我以前用过 。我现在要代码。 因为这是作操C#dll的通用方法。管他什么dll.
添加引用,对象浏览器
不解释,看不懂的楼下解释或看msdn
public void Test()
{
Assembly asm = Assembly.Load(File.ReadAllBytes("你的dll文件"));
asm.GetTypes().ToList().ForEach(t =>
{
//这里t就是所有类型了
Console.WriteLine(t.FullName);
//字段
t.GetFields(BindingFlags.CreateInstance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic).ToList().ForEach(f =>
{
Console.WriteLine(f.Name);
});
//属性
t.GetProperties(BindingFlags.CreateInstance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic).ToList().ForEach(p =>
{
Console.WriteLine(p.Name);
});
//方法
t.GetMethods(BindingFlags.CreateInstance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic).ToList().ForEach(m =>
{
Console.Write(m.Name + "("); //方法的属性
bool first = true;
m.GetParameters().ToList().ForEach(p =>
{
if (!first) Console.Write(",");
Console.Write(p.ParameterType.Name + " " + p.Name);
first = false;
});
Console.Write(")");
});
});
}
如:Assembly asm = Assembly.LoadFrom(“test.dll”);//Load还是LoadFrom来着?
2.创建一个类的实例,如果你要调用的是实例方法
如:Object obj = asm.CreateInstance("FullClassName");
3.取得类的类型
如:Type t = asm.GetType("ClassName")
4.取得类的方法信息
如:MethodInfo mi = t.GetMethod("MethodName")
5.传入实例并调用此方法
如:mi.Invoke(obj, 参数);
是用C写的dll 你怎么用C#引用? 不是都能引用的了的。