- 浏览: 2067360 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (1409)
- asp/asp.net学习 (241)
- oracle (10)
- delphi (295)
- java (27)
- pb (1)
- 每日点滴 (49)
- 学习方法 (40)
- 思想方面 (104)
- C语言 (5)
- C++ (1)
- 代码重构经验 (5)
- 软件工程 (3)
- 数据库 (99)
- 英语学习 (3)
- mysql (1)
- 该关注的网站或者网页 (42)
- 总结 (7)
- 要去做的事情 (33)
- 算法 (1)
- 网络方面 (29)
- 随感 (96)
- 操作系统 (36)
- UML (12)
- 常用工具的使用 (55)
- 脚本 (7)
- 汇编 (62)
- 数据结构 (2)
- 财务 (38)
- 语文作文 (16)
- 法律 (1)
- 股票 (88)
最新评论
-
devwang_com:
可以,学习了~~
列出文件夹下所有文件夹的树形结构--Dos命令 tree的使用 -
hvang1988:
不管用啊 frxrprt1.PreviewForm.Pare ...
fastReport预览时嵌入到别的窗体 -
00915132:
我也有这个疑问,非常 感 谢
left join加上where条件的困惑 --SQL优化 -
zhuyoulong:
学习了,高效读书
软件架构师要读的书 -
nTalgar:
非常感谢分享!
Application.ProcessMessages用法:
2011-3-28
1. 利用.net反射调用 方法
protected void invokeTheMethod(object theObject, string strMethod, object[] objParms)
{
Type objType = theObject.GetType(); //--得到对象的类型 cyj 2011-3-28
MethodInfo method; //--声明一个方法 cyj 2011-3-28
try
{
method = objType.GetMethod(strMethod); //--根据方法名称得到方法 cyj 2011-3-28
method.Invoke(theObject, objParms); //--连接类型与方法 cyj 2011-3-28
}
catch (Exception)
{
throw (new Exception("刷新分页控件出错"));
// Response.Write(ex.ToString());
}
}
调用该方法:invokeTheMethod(uControls,"getString",null);
总结:1. 得到对象(用户控件uControls)的类型
2. 声明一个方法
3. 将方法与类型相连;
摘自:http://www.pqshow.com/program/aspnet/201101/15525.html
最近在维护一个Extjs的项目,所以前提基本上都是js,利用.net后台的交互获取数据。
故利用反射来执行页面的一些方法,可以省下不少事情。代码如下:
在page_load方法中,实现反射代码,并添加一个需反射执行的方法。先看一个没有参数的函数:
代码
protected void Page_Load(object sender, EventArgs e)
{
string methordName = "GetResString";
// 或者 methordName = Request.QueryString["action"];
Type t = this.GetType();
MethodInfo method = t.GetMethod(methordName);
if (method != null)
{
Response.Write((string)method.Invoke(this,null));
}
}
public string GetResString()
{
return "Test";
}
运行的结果页面就可以在页面上输出Test字样了。
添加一个需传参数的反射例子。
如:
代码
protected void Page_Load(object sender, EventArgs e)
{
string methordName = "GetResString";
// 或者 methordName = Request.QueryString["action"];
Type t = this.GetType();
object[] paras={"小强",23};//方法需调用的参数
Type[] typepara=new Type[paras.Length];
for(int i=0;i<paras.Length;i++)
{
typepara[i]=paras[i].GetType();
}
MethodInfo method = t.GetMethod(methordName,typepara);
if (method != null)
{
Response.Write((string)method.Invoke(this, paras));
}
}
public string GetResString(string name,int age)
{
return string.Format("{0}已经{1}岁了", name, age);
}
页面执行结果为:小强已经23岁了。
如果前台页面用:..Default.aspx?action=GetResString 也能达到同样的效果。
发表评论
-
关于 字符串中的单引号, 在sql存储过程中的传输总结; 逗号分隔的多个变量提取方法.
2011-10-14 17:49 3402摘自:http://blog.csdn.net/nutia ... -
抓取网站内容 asp.net
2011-10-11 13:28 1051HttpWebRequest myReq ... -
两个DATASET合并成一个新的DATASET
2011-09-28 18:17 2524摘自:http://topic.csdn.net/t/2 ... -
VS设置使用哪个浏览器来调试网页
2011-08-30 16:57 1197摘自:http://zhidao.baidu.com/ques ... -
可使用js获取TREE的CheckBox
2011-08-20 12:32 1090摘自:http://www.uipower.com/bb ... -
正则表达式 验证邮箱
2011-06-02 18:14 2644正则表达式 摘自:http://www.alixixi.com ... -
未能加载程序集 App_Web_vdcnimdz”错误
2011-04-25 17:38 1597问题描述: 自己的一个WebGPS程序,只是拷到了别的 ... -
.net跳到指定错误页面兵显示详细的错误信息
2011-04-14 16:48 1254.net跳到指定错误页面兵显示详细的错误信息 摘自:h ... -
注册*.ocx控件
2011-04-14 11:23 946注册*.ocx控件 问题描述:本地的网站的bin目录下有了个 ... -
C# 读取文本文件的时候出现汉字乱码
2011-04-12 16:01 2467问题描述:C# 使用ReadAllText方法读取文本文件的时 ... -
VS 2008中如何显示代码的行号
2011-04-09 09:51 1244摘自:http://zhidao.baidu.com/ques ... -
VS.NET2008可以使用书签的功能
2011-04-08 17:19 1390摘自:http://blog.csdn.net/lmh_851 ... -
两个类库要添加引用才能使用
2011-04-02 13:57 1163两个类库要添加引用才能使用 ---------------- ... -
缓存 <%@ OutputCache Duration="6000" VaryByParam="none" %>
2011-04-02 10:53 1177在页首添加: <%@ OutputCache Durat ... -
FrameSet的加载顺序
2011-04-02 09:56 3903FrameSet的加载顺序是: (1) mainFrame ... -
Response.AddHeader “P3P”,”CP=CAO PSA OUR”
2011-04-01 18:01 2547摘自:http://my.donews.com/alor ... -
Hashtable 的使用
2011-03-31 09:36 8162011-3-31 Hashtable 的使用: ... -
google地图使用(二)
2011-03-30 10:30 13302011-3-291. 今天客户反映,说GOOGLE地图上的拖 ... -
GOOGLE地图
2011-03-29 18:31 8322011-3-291. 今天客户反映,说GOOGLE地图上的拖 ... -
此组中没有可用的控件 工具箱 vs2008
2011-03-29 09:20 2132问题描述: 此组中没有可用的控件 工具箱 vs2008 ...
相关推荐
本主题将深入探讨如何在ASP.NET Web服务中调用WinForms应用程序的功能,以实现更复杂的系统集成和交互。 首先,我们需要理解Web服务的基本概念。Web服务是一种基于互联网的软件应用,它能够通过标准协议(如SOAP或...
.NET反射是.NET Framework提供的一种强大的工具,它允许运行时的代码动态地获取类型信息,并能够创建和操作对象。...通过深入理解反射的工作原理和应用,开发者可以更好地利用.NET框架提供的各种功能,解决复杂问题。
4. **调用方法**:通过反射可以调用类的方法,无论是实例方法还是静态方法。 ```csharp MethodInfo method = type.GetMethod("WriteString"); string s = (string)method.Invoke(obj, new string[] { "jianglijun...
总的来说,.NET反射与特性是提升代码灵活性和可维护性的重要工具。理解并熟练掌握它们,能让你在.NET开发中游刃有余,编写出更加高效且易于扩展的代码。通过提供的`Reflection+AttributeDemo`项目,你可以更深入地...
3. **调用方法和访问属性**:反射允许在运行时动态调用对象的方法和访问其属性。`MethodInfo.Invoke`用于执行方法,`PropertyInfo.GetValue`和`PropertyInfo.SetValue`用于访问和修改属性值。 4. **枚举类型和字段*...
在VB.NET编程中,反射是一种强大的机制,它允许运行时检查和操作程序集、类型、方法、属性等元数据。这个“VB.NET 反射类属性名称”主题聚焦于如何利用反射来获取或设置类中特定属性的值,尤其是当我们只知道属性的...
通过System.Reflection命名空间中的类,如Type、MethodInfo、ConstructorInfo等,我们可以动态地探索和利用.NET类型系统。 二、反射的基本操作 1. 获取类型信息:通过Type类,我们可以获取任何类型的完整信息,包括...
自由加载程序集,创建对象和调用方法 利用反射修改对象数据
通过反射,我们可以动态地创建对象、调用方法、访问属性,甚至发现和利用未知类型的特性。在本场景中,目标是获取VB.NET项目中所有公共对象的属性、方法和事件。以下是对这一主题的详细解释: 1. **反射概念**: ...
以下是对.NET反射机制七大关键问题的详细说明: 1. **类型信息获取**: 反射机制使程序员能够在运行时获得关于类型的所有信息。通过`Type`类,我们可以获取到任何类型的元数据,包括类名、命名空间、基类、接口、...
综上所述,VB.NET调用DLL涉及多个方面,包括但不限于理解DLL的工作原理、掌握正确的调用方法、注意细节问题以及处理潜在的错误。通过合理运用这些技术,开发者可以有效地集成现有组件,提升应用程序的功能性和性能。
总的来说,要在C++中反射调用.NET的集合数据,关键在于利用`IEnumerable`接口作为桥接,将.NET的泛型集合转换为C++的数据结构。这个过程涉及到类型转换、委托绑定以及反射调用等多个步骤,需要对C++/CLI和.NET框架有...
- 获取DLL中的方法、字段、属性等信息,然后通过反射调用。 总结起来,反射是.NET框架中的一个重要特性,它允许我们在运行时动态地操作类型和对象,提高了代码的灵活性。在VB.NET和C#中,我们可以利用反射来获取...
本文将深入探讨.NET反射机制的性能优化策略,并通过比较不同调用方式的性能,给出实际的优化建议。 首先,我们要理解反射的工作原理。反射允许程序在运行时获取类型信息并执行相关的操作,如创建对象、调用方法、...
在.NET框架中,C#语言提供了反射这一强大的特性,允许我们在程序运行时动态地获取类型信息和调用方法。在本文中,我们将深入探讨如何利用反射调用包含`ref`和`out`参数的方法。 首先,理解`ref`和`out`关键字在C#中...
在.NET框架中,反射是一个强大的工具,它允许程序在运行时检查自身和其他程序集的元数据,从而实现动态类型操作、实例化对象、调用方法、访问字段等。本参考手册将深入探讨如何在Visual Basic .NET中有效地利用反射...
4. 调用方法:使用MethodInfo的Invoke方法调用方法,如`method.Invoke(obj, parameters);` 三、动态类型转换 反射还可以用于实现动态类型转换,例如将一个对象转换为预期类型,即使在编译时无法确定该类型。`if ...
.NET反射是.NET Framework提供的一种强大的工具,它允许程序在运行时检查自身,发现并操作类型、成员、属性、方法等信息。...通过学习和熟练掌握反射,开发者可以更好地利用.NET Framework的强大功能。
在.NET中,我们可以通过Attribute来实现AOP的功能,这就是标题中提到的"attribute实现方法调用拦截"。 Attribute的使用通常是通过定义自定义Attribute类,然后在需要的地方应用这些特性。例如,我们可以创建一个`...