本文實例講述了asp.net反射簡單應用。分享給大家供大家參考,具體如下:
反射提供了封裝程序集、模塊和類型的對象(Type 類型)。可以使用反射動態創建類型的實例,將類型綁定到現有對象,或從現有對象獲取類型并調用其方法或訪問其字段和屬性。如果代碼中使用了屬性,可以利用反射對它們進行訪問。----這是反射最簡單的理解。下面就是一個最簡單的實例來講述反射技術的應用!
一. 聲明接口,接口中包含一個虛方法。如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
public interface IReflect
{
void Run(string name);
}
}
二. 實現接口,實現接口中的方法。如下
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+"開始跑了!");
}
}
}
三. 通過反射技術來創建類型的實例,并調用實例的方法。如下
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();
}
}
}
這樣一個簡單的實例就完成了,顯示的結果就是“aaa開始跑了”。反射的命名控件是System.Reflection,在使用時候一定要引用該命名控件,該命名控件長用的對象就是Assembly,該對象包含許多靜態方法。其中Load就是很典型的。CreateInstance是用來創建某個對象的實例。
|