溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

asp.net反射的示例分析

發(fā)布時間:2021-08-05 14:32:17 來源:億速云 閱讀:119 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)asp.net反射的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

具體如下:

反射提供了封裝程序集、模塊和類型的對象(Type 類型)。可以使用反射動態(tài)創(chuàng)建類型的實例,將類型綁定到現(xiàn)有對象,或從現(xiàn)有對象獲取類型并調(diào)用其方法或訪問其字段和屬性。如果代碼中使用了屬性,可以利用反射對它們進(jìn)行訪問。----這是反射最簡單的理解。下面就是一個最簡單的實例來講述反射技術(shù)的應(yīng)用!

一. 聲明接口,接口中包含一個虛方法。如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
  public interface IReflect
  {
    void Run(string name);
  }
}

二. 實現(xiàn)接口,實現(xiàn)接口中的方法。如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
  public class Reflect:IReflect
  {
    public void Run(string name)
    {
      Console.WriteLine(name+"開始跑了!");
    }
  }
}

三. 通過反射技術(shù)來創(chuàng)建類型的實例,并調(diào)用實例的方法。如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      IReflect rec = (IReflect)Assembly.Load("ConsoleApplication1").CreateInstance("ConsoleApplication1.Reflect");
      rec.Run("aaa");
      Console.ReadLine();
    }
  }
}

這樣一個簡單的實例就完成了,顯示的結(jié)果就是“aaa開始跑了”。反射的命名控件是System.Reflection,在使用時候一定要引用該命名控件,該命名控件長用的對象就是Assembly,該對象包含許多靜態(tài)方法。其中Load就是很典型的。CreateInstance是用來創(chuàng)建某個對象的實例。

感謝各位的閱讀!關(guān)于“asp.net反射的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI