主頁 > 知識庫 > C#反射(Reflection)對類的屬性get或set值實(shí)現(xiàn)思路

C#反射(Reflection)對類的屬性get或set值實(shí)現(xiàn)思路

熱門標(biāo)簽:地圖標(biāo)注位置多的錢 泰州手機(jī)外呼系統(tǒng)軟件 山東防封電銷卡辦理套餐 濟(jì)源人工智能電話機(jī)器人價(jià)格 杭州智能電話機(jī)器人 百度地圖標(biāo)注點(diǎn)擊事件 廈門四川外呼系統(tǒng) 內(nèi)蒙古智能電銷機(jī)器人哪家強(qiáng) 怎樣在地圖標(biāo)注消火栓圖形
近段時(shí)間,有朋友叫Insus了解一下反射(Reflection)方面的知識,反射提供了封裝程序集、模塊和類型的對象(Type類型)。可以使用反射動(dòng)態(tài)創(chuàng)建類型的實(shí)例,將類型綁定到現(xiàn)有對象,或從現(xiàn)有對象獲取類型并調(diào)用其方法或訪問其字段和屬性。如果代碼中使用了屬性,可以利用反射對它們進(jìn)行訪問。
下面的例子,是Insus練習(xí)對一個(gè)類別的屬性進(jìn)行set和get值。

首先寫一個(gè)類,再寫一個(gè)可讀寫的屬性:
復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// summary>
/// Summary description for Member
/// /summary>
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程序,練習(xí)也是在站點(diǎn)進(jìn)行。
創(chuàng)建一個(gè)網(wǎng)頁,引用兩個(gè)namespace:
復(fù)制代碼 代碼如下:

using Insus.NET;
using System.Reflection;

讀寫屬性:
復(fù)制代碼 代碼如下:

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)
{
//實(shí)例化類
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());
}
}
}
您可能感興趣的文章:
  • C# 反射(Reflection)的用處分析
  • 關(guān)于C#反射 你需要知道的
  • C#基于Linq和反射實(shí)現(xiàn)數(shù)據(jù)持久化框架Xml4DB詳解
  • 詳解C# 反射(Reflection)

標(biāo)簽:朔州 洛陽 朝陽 百色 臺州 新鄉(xiāng) 喀什 周口

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《C#反射(Reflection)對類的屬性get或set值實(shí)現(xiàn)思路》,本文關(guān)鍵詞  反射,Reflection,對,類,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《C#反射(Reflection)對類的屬性get或set值實(shí)現(xiàn)思路》相關(guān)的同類信息!
  • 本頁收集關(guān)于C#反射(Reflection)對類的屬性get或set值實(shí)現(xiàn)思路的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章