栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C#反射(Reflection)对类的属性get或set值

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#反射(Reflection)对类的属性get或set值

近段时间,有朋友叫Insus.NET了解一下反射(Reflection)方面的知识,反射提供了封装程序集、模块和类型的对象(Type类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。

下面的例子,是Insus.NET是练习对一个类别的属性进行set和get值。

首先写一个类,再写一个可读写的属性:

View Code

using System;using System.Collections.Generic;using System.Linq;using System.Web;/// /// Summary description for Member/// namespace Insus.NET{    public class Member    {        private string _Name;        public string Name        {            get            {                return _Name;            }            set            {                _Name = value;            }                }        public Member()        {            //            // TODO: Add constructor logic here            //        }    }}


Insus.NET一向是写asp.net程序,练习也是在站点进行。

创建一个网页,引用两个namespace:

View Code

using Insus.NET;using System.Reflection;


读写属性:

View Code

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Insus.NET;using System.Reflection;public partial class _Default : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {       //实例化类        Member objMember = new Member();        //对属性set值        PropertyInfo pi = objMember.GetType().GetProperty("Name", BindingFlags.Public | BindingFlags.Instance);        if (null != pi && pi.CanWrite)        {            pi.SetValue(objMember, "Insus.NET", null);        }        //对属性get值        PropertyInfo pii = objMember.GetType().GetProperty("Name", BindingFlags.Public | BindingFlags.Instance);        if (null != pii && pi.CanRead)        {            object obj_Name = pii.GetValue(objMember, null);            Response.Write(obj_Name.ToString());        }    }}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/231220.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号