- 浏览: 228318 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
net_liu:
zxptian 写道楼主能把TransferFiles也贴出来 ...
c# Socket 文件的传输 -
zxptian:
楼主能把TransferFiles也贴出来分享下吗?
c# Socket 文件的传输
通过Assembly来动态加载DLL
//从DLL文件加载程序集 static Assembly amy = Assembly.LoadFrom("Student.dll"); //创建新类 static Type type = amy.GetType("Student.Stu"); private void button1_Click(object sender, EventArgs e) { //静态成员 string strDyNamic= (string)type.InvokeMember("GetNewValue", BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Static | BindingFlags.InvokeMethod, null, null, new object[] {"Static"}); MessageBox.Show(strDyNamic); //非静态成员 object obj = type.InvokeMember(null,BindingFlags.DeclaredOnly| BindingFlags.Public|BindingFlags.NonPublic| BindingFlags.Instance|BindingFlags.CreateInstance, null,null,null); string strStatic = (string)type.InvokeMember("GetValue", BindingFlags.DeclaredOnly| BindingFlags.Public|BindingFlags.NonPublic| BindingFlags.Instance|BindingFlags.InvokeMethod, null,obj,new object[]{"NonStatic"}); MessageBox.Show(strStatic); //设置类的属性 type.InvokeMember("Name",BindingFlags.DeclaredOnly| BindingFlags.Public |BindingFlags.NonPublic| BindingFlags.Instance|BindingFlags.SetProperty, null,obj,new object[]{"Test"}); //获取类的属性 string property = (string)type.InvokeMember("Name",BindingFlags.DeclaredOnly| BindingFlags.Public|BindingFlags.NonPublic| BindingFlags.Instance|BindingFlags.GetProperty, null,obj,null); MessageBox.Show(property); }
DLL代码大致如下
namespace Student { public class Stu { public Stu() { strName = ""; } public string GetValue(string strText) { return string.Format("Print NonStatic {0}!", strText); } public static string GetNewValue(string strText) { return string.Format("Print static {0}!", strText); } private string strName; public string Name { get { return strName; } set { strName = value; } } } }
发表评论
-
List转DataTable(反射)
2012-02-06 10:48 2701List转DataTable(反射) // ... -
DataTable转泛型
2012-01-31 17:39 1222DataTable转泛型 public clas ... -
利用鼠标钩子将鼠标中键转为左键
2011-05-04 13:50 1610利用鼠标钩子将鼠标中键转为左键 鼠标 ... -
C# 命名规范
2011-04-01 13:32 1928C# 命名规范 文章分类:.net编程 ... -
VS2008 快捷键大全
2011-04-01 13:30 876VS2008 快捷键大全[转帖] 文章分类 ... -
C# 中的委托和事件
2011-04-01 13:26 1212缩略显示 C# 中的委托和事件 文章 ... -
C#Winform限制Textbox只能输入数字
2011-04-01 13:20 7446C#Winform限制Textbox ... -
C# 跳转语句(break,continue,goto,return,throw)
2011-04-01 12:38 3361C# 跳转语句(break,continue,goto,r ... -
C#窗体固定在桌面上
2010-11-19 10:25 1591[DllImport("user32.dll& ... -
if-else 都输出的方法
2010-10-12 11:44 1253if-else 都输出的方法 if (new Func< ... -
反射技术
2010-09-15 17:42 888什么是反射? 反射就 ... -
发一个接口做参数的例子
2010-08-06 08:48 921发一个接口做参数的例子 回头接口 using System ... -
C#中使用正则表达式
2010-08-04 13:39 1297C#中的正则表达式包含 ... -
C#的几个技巧
2010-08-04 13:35 8111.如果可能尽量使用接 ... -
反射动态调用类成员
2010-08-04 13:30 945使用反射动态调用类成员,需要Type类的一个方法:Invoke ... -
在vs2005中发送邮件
2010-08-03 16:14 1101在vs2005中发送邮件的方法如下: ... -
XML数据排序
2010-06-30 14:20 3371根据XML数据的Index 来进行排序 方法一: ... -
程序动态升级版本
2010-06-30 10:00 954C#实现程序动态升级版本。通过反射获取本地版本,然后跟服务器中 ... -
将DataGridView 数据导出到Excel
2010-06-25 15:46 5062/// <summary> ... -
将Excel导入到Oracle
2010-06-25 15:39 5375private void btnInsert_Click(o ...
相关推荐
C#也提供了实现动态卸载DLL的方法,通过AppDomain来实现。AppDomain是一个独立执行应用程序的环境,当AppDomain被卸载的时候,在该环境中的所有资源也将被回收。
目前对于 Assembly, CLR 没有提供卸载 Assembly 的方法。而 Assembly 是 驻留在 Appdomain 中,Appdomain 是可以动态卸载和创建的。
那就是简单的Assembly.Load动态加载dll而以。这网上资料也有不少。基本的思路基本上就是在本地上一个指定目录如【plugs】存在着一堆dll文件。主程序在初始运行时一般会把指定目录下的dll一次性用Assembly.Load加载...
解决:xp,win7等Could not load file or assembly 'CefSharp.Core.dll' or one of its dependencies. 找不到指定的模块,解决方法 1.安装 VC++运行环境 2.解压win32, 需要将 msvcp120.dll msvcr120.dll 拷贝至C:\...
将dll动态库嵌入到exe当中,无需嵌入互操作类型 1、双击Resources.resx 2、添加现有文件 3、添加代码 public Form1() { //添加程序解析失败事件 AppDomain.CurrentDomain.AssemblyResolve += new ...
异常:已引发: "无法加载 DLL“Kinect10.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。" (System.DllNotFoundException) 引发了一个 System.DllNotFoundException: "无法加载 DLL“Kinect10.dll”: 找...
加载DLL 带有 GUI 的更好版本的 RunDll。 该程序允许您在 Windows 上加载 DLL。 您可以选择加载 DLL 的方式。 通过直接入口点调用 (DllMain) 或者如果您想直接调用 DLL 的导出函数。支持的调用约定现在我支持 ...
遍历Dll文件里面的所有类,改为VS2010作业了.原理都是一样的,可以先添加引用或者直接Assembly.LoadFile(assemblyName);引用的话,直接类名即可,LOAD的话要完整的路径,供参考,有问题发信息或者邮件给我.
一个PoC,用于使用DInvoke修补AMSI.dll,以绕过通过Assembly.Load()加载.NET tradecraft时触发的AMSI检测。可以压缩.Net tradecraft进行编码,编码(如果需要,可以加密),以使程序集大小小于1MB,然后将其嵌入为...
最近公司的项目要用到相关的技术,网上搜集了一点资料后发现,只能是通过反射技术来实现,即通过加载动态DLL后,利用对方的Assembly来返回此类型的一个对象并激活。具体看我的源码,如有问题,请留言或评论。
2)、在aspx网页的代码中加<%@ Register TagPrefix="RW" Namespace="ActionlessForm" Assembly="ActionlessForm" %>(加载Page命令后面一行吧) 3)、然后将form标签改为RW:Form(注意开始和结束都要改),...
IO板卡集成dll文件,亲测可用,添加项目引用即可,好用
“未能从程序集 C:\Program Files (x86)\MSBuild\..\StyleCop 4.7\StyleCop.dll 加载任务“StyleCopTask”。 Could not load file or assembly 'file:///C:\Program Files (x86)\StyleCop 4.7\StyleCop.dll' or one ...
今天在AspDotNetStorefront做定制化开发,编译的时候莫名其妙地报告Could not load file or assembly ‘App_Licenses, Version=0.0.0.0, Culture=neutral, … (Exception from HRESULT: 0x80070057 (E_INVALIDARG))...
使用反射(Reflect)获取dll文件中的类型并调用方法,具体内容如下 需引用:System.Reflection; 1. 使用反射(Reflect)获取dll文件中的类型并... //加载dll文件 Assembly asm = Assembly.LoadFile(path); /
在设计模式的策略模式中,需要动态加载程序集信息,本文通过一个简单的实例,来讲解动态加载Dll需要的知识点。 涉及知识点: AssemblyName类,完整描述程序集的唯一标识, 用来表述一个程序集。 Assembly类,在...
在DNSpy中打开Assembly-CSharp.dll CSharp.dll。 导航到GameInput > Awake 。 右键单击源,然后选择“ Edit Method (C#)... 。 在“编辑代码”窗口中,按Ctrl+O或文件夹图标以Add Assembly Reference 。 添加对...
如何用C#动态编译、执行代码 在开始之前,先熟悉几个类及部分属性、方法:CSharpCodeProvider、ICodeCompiler、CompilerParameters、CompilerResults、Assembly。 一、CSharpCodeProvider 提供对C#代码生成器和代码...
下载“WPFMediaKit.dll”程序开发包,用在项目中添加引用; 在WPF窗口引入并命名: xmlns:wpfMedia="clr-namespace:WPFMediaKit.DirectShow.Controls;assembly=WPFMediaKit" 在界面用到一个VideoCaptureElement的控件...
DevExpress 13.1.8 真正的完全破解,可发布。 使用方法: ...3、如果编译程序时提示“lc.exe 已退出 代码为 -1”时,则删除程序中原有的DevExpress dll引用,重新添加一下程序中的DevExpress dll引用即可。