当前位置: 首页 > news >正文

朔州市网站建设_网站建设公司_网站制作_seo优化

工业信息化部网站备案系统,企业宣传方式有哪些,三亚凤凰镇网站建设兼职招聘网,网站建设基础培训目录 [隐藏] 1 概述 2 一些在反射中经常使用的类 3 其它 4 示例 .net反射简介-概述 反射就是动态发现类型信息的能力。它帮助程序设计人员在程序运行时利用一些信息去动态地使用类型#xff0c;这些信息在设计时是未知的#xff0c;这种能力类型于后期绑定。反射还支持的更高…目录 [隐藏] 1 概述 2 一些在反射中经常使用的类 3 其它 4 示例 .net反射简介-概述        反射就是动态发现类型信息的能力。它帮助程序设计人员在程序运行时利用一些信息去动态地使用类型这些信息在设计时是未知的这种能力类型于后期绑定。反射还支持的更高级的行为能在运行时动态创建新类型并且对这些新类型的操作进行调用。 .net反射简介-一些在反射中经常使用的类 Assembly类      Assembly类是可重用、无版本冲突并且可自我描述的公共语言运行库应用程序构造块。可以使用Assembly.Load和Assembly.LoadFrom方法动态地加载程序集。Type类      反射的中心是System.Type类。System.Type类是一个抽象类代表公用类型系统中的一种类型。这个类使您能够查询类型名、类型中包含的模块和名称空间、以及该类型是一个数值类型还是一个引用类型。System.Type类使您能够查询几乎所有与类型相关的属性包括类型访问限定符、类型是否、类型的COM属性等等。 Activator类       Activator类支持动态创建.NET程序集和COM对象。可以通过CreateComInstanceFrom、CreateInstance、CreateInstanceFrom、GetObject四个静态方法加载COM对象或者程序集并能创建指定类型的实例。 Binder类       Binder类是一个用于执行类型转换的绑定器Type对象的InvokeMember方法接受Binder对象这个对象描述了如何将传递给InvokeMember的参数转换成方法实际需要的类型。      Binder类是一个抽象类要创建绑定器需要重写方法BindToMethod、BindToField、SelectMehtod、SelectProperty和ChangeType。 DefaultMemberAttribute类     DefaultMemberAttribute类用于类型并带有一个指明默认成员名称的字符串参数。能够通过InvokeMember调用默认成员而不需要传递调用成员的名称。当需要绑定器但不需要特别的绑定行为时就可以使用它。 .net反射简介-其它 还有一些对元素类型信息描述的类ConstrutorInfo构造函数、MethodInfo方法、FieldInfo字段、PropertyInfo属性、EventInfo事件、MemberInfo成员、ParameterInfo参数。如果查询得到了具有任何类型信息的实例就可以获得该类型中任意元素的类型信息当然出于安全原因不保证会得到程序集中的任何信息。 .net反射简介-示例  类定义using System;using System.Collections.Generic;using System.Text; namespace ReflectionSample{    /**//**//**     /// 说明一个简单的类    /// 作者文野    /// 联系stwyhm.cnblog.com    ///     public class ClassSample    {        // 默认构造        public ClassSample()        {            this.name 您调用了默认构造创建了一个类实例。;        }         // 带参构造        public ClassSample(string name)        {            this.name name;        }         // 字段         public string name;         public string Field;         // 属性        private string property;        public string Property        {            set { this.property value; }            get { return property; }        }         // public方法         public string PublicClassMethod()        {            return string.Format(您反射了一个Public方法);        }         // private方法        private string PrivateClassMethod()        {            return string.Format(您反射了一个Private方法);        }         // static方法        public static string StaticMethod()        {            return 您反射了一个Static方法;        }         // 帶參方法        public string ParameterMethod(string para)        {            return para;        }         public event EventHandler eventHandler;         public void DoEvent()        {            eventHandler(null,EventArgs.Empty);        }    }}反射示例 using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls; using System.Reflection;using ReflectionSample; /**//**//** /// 说明一个简单的使用反射示例/// 作者文野/// 联系stwyhm.cnblog.com/// public partial class _Default : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {        string path Server.MapPath(Request.Path);        string filePath path.Substring(0, path.LastIndexOf(\\)) \bin\ReflectionSample.dll;        // 获取程序集        Assembly classSampleAssembly Assembly.LoadFrom(filePath);         // 从程序集中获取指定对象类型        Type classSampleType classSampleAssembly.GetType(ReflectionSample.ClassSample);         使用Activator创建一个实例使用Activator创建一个实例#region 使用Activator创建一个实例         // 通过对象类型创建对象实例        ClassSample s1 Activator.CreateInstance(classSampleType) as ClassSample;         Response.Write(s1.name 使用Activator创建一个实例);         #endregion         动态调用构造函数动态调用构造函数#region 动态调用构造函数         // 调用无参构造        ConstructorInfo studentConstructor1 classSampleType.GetConstructor(new Type[] { });        ClassSample s2 studentConstructor1.Invoke(new object[] { }) as ClassSample;        Response.Write(s2.name );         // 调用有参构造        ConstructorInfo studentConstructor2 classSampleType.GetConstructor(new Type[] { typeof(string) });        ClassSample s3 studentConstructor2.Invoke(new object[] { 您调用了有参构造创建了一个类实例。 }) as ClassSample;        Response.Write(s3.name );         #endregion         反射方法反射方法#region 反射方法         // 调用非静态方法        string returnValue1 classSampleType.InvokeMember(PublicClassMethod, BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Instance, null, s1, new object[] { }) as string;        Response.Write(returnValue1 );         // 调用静态方法        string returnValue2 classSampleType.InvokeMember(StaticMethod, BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Static, null, s1, new object[] { }) as string;        Response.Write(returnValue2 );         // 调用私有方法        string returnValue3 classSampleType.InvokeMember(PrivateClassMethod, BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance, null, s1, new object[] { }) as string;        Response.Write(returnValue3 );         #endregion         反射参数反射参数#region 反射参数         MethodInfo parameterMethod classSampleType.GetMethod(ParameterMethod);        ParameterInfo[] paras parameterMethod.GetParameters();        for (int i 0; i , new object[] { paras[i].Name, paras[i].ParameterType.ToString(), paras[i].IsOptional.ToString(), paras[i].Position.ToString(), paras[i].DefaultValue.ToString() }));         #endregion         反射属性反射属性#region 反射属性         classSampleType.InvokeMember(Property, BindingFlags.SetProperty | BindingFlags.Public | BindingFlags.Instance, null, s1, new object[] { 您反射了一个属性 });        string returnValue4 classSampleType.InvokeMember(Property, BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance, null, s1, new object[] { }) as string;        Response.Write(returnValue4 );         #endregion         反射字段反射字段#region 反射字段         classSampleType.InvokeMember(Field, BindingFlags.SetField | BindingFlags.Public | BindingFlags.Instance, null, s1, new object[] { 您反射了一个字段 });        string returnValue5 classSampleType.InvokeMember(Field, BindingFlags.GetField | BindingFlags.Public | BindingFlags.Instance, null, s1, new object[] { }) as string;        Response.Write(returnValue5 );         #endregion    }}转载于:https://www.cnblogs.com/lhuser/articles/1644664.html
http://www.ihoyoo.com/news/49331.html

相关文章:

  • 网站如何建设目录dw php网站开发书籍云盘
  • 舟山公司做网站wordpress 极验
  • 家具企业网站模板建设网站课程设计摘要
  • s吗网站虚拟主机上海企业公示
  • 飞沐网站设计专门做衣服特卖的网站
  • 创网站永久免费建站建设工程交易服务网
  • 许昌网站建设找汉狮学校官网网页设计
  • php在网站后台建设中的优势徐州赶集网招聘信息
  • 微网站的建设模板有哪些网站建设的请示报告
  • 可以用自己电脑做网站服务器吗网站了建设
  • 襄阳网站制作公司有哪些seo文章外包
  • 建设一个棋牌类网站住房和创新建设部网站
  • 做星座网站wordpress xmmpp
  • 彩票网站wordpress模板免费网页托管
  • 手机网站 微信平台行业网站导航
  • 淘宝网站基础建设 托管个人网页制作方案
  • 苏州微网站建设搭建网站要多久
  • 广西莲城建设集团有限公司网站网站404 模板
  • 如何做网站模板关键词优化怎么做
  • 做网站市场价财务公司业务范围
  • 盘锦网站建设优化建立和创立的区别
  • 泉州网站外包aws wordpress 免费
  • 专业网站建设平台公司网站哪些功能是PHP做的
  • 沈阳网站选禾钻科技企业网站建设教程 pdf
  • 免费商标图案logo温州seo按天扣费
  • 设计网站平台风格柳州市建设工程技术服务中心
  • 做网站最简单wordpress远程上传媒体文件
  • 肥城网站网站建设企业手机网站 案例
  • 学校网站源码免费怎么做淘宝客的网站
  • 网站域名dns自己的身份已经网站备案了