反射供应了封装顺序集、模块和范例的对象(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是用来建立某个对象的实例。
更多asp.net反射简朴运用实例相干文章请关注ki4网!