程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 理解C#中反射的有關概念與反射的應用(2)

理解C#中反射的有關概念與反射的應用(2)

編輯:關於C語言

實例:

在C#中新建一個類庫CustomControls

新建類MathUtil

鍵入以下代碼

MathUtil
    public string ApplicationName
    {
      get
      {
        return "MathUtil";
      }
    }
    public double Sum(double x, double y)
    {
      return x + y;
    }

在新建一個"控制台應用程序",並將CustomControls.dll導入

在Main函數中鍵入以下代碼(這是就可以調試了享受一下反射帶來的樂趣,在總結一下反射會用在那些場合就可以了)

Code

Assembly ass = Assembly.LoadFrom(@"F:\PaipaiBa\AJaxWebSite\bin\CustomControls.dll");
    Module[] mods = ass.GetLoadedModules();
    Type t = ass.GetType("CustomControls.MathUtil");
    object obj = System.Activator.CreateInstance(t);
    Type[] paramTypes = new Type[2];
    paramTypes[0] = System.Type.GetType("System.Double");
    paramTypes[1] = System.Type.GetType("System.Double");
    MethodInfo med = t.GetMethod("Sum", paramTypes);
    object[] parameters = new object[2];
    parameters[0] = 5d;
    parameters[1] = 4d;
    object objRetval = med.Invoke(obj, parameters);

反射的作用:(Copy From Somewhere)

1.可以使用反射動態地創建類型的實例,將類型綁定到現有對象,或從現有對象中獲取類型

2.應用程序需要在運行時從某個特定的程序集中載入一個特定的類型,以便實現某個任務時可以用到反射。

3.反射主要應用與類庫,這些類庫需要知道一個類型的定義,以便提供更多的功能。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved