成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

學習反射中的動態創建對象

開發 后端
利用反射動態的創建對象一般可以使用兩種方法,Assembly的CreateInstance方法。本文將介紹這兩種方法。

Assembly的CreateInstance有三個重載,***個參數需要是一個字符串表示的完整的類名。第二個參數是一個bool類型,如果為true,表示對***個參數不區分大小寫。

第三個: 影響執行搜索的方式的位屏蔽。此值是 System.Reflection.BindingFlags 中的位標志的組合。

 //   binder:   一個啟用綁定、參數類型強制、成員調用以及通過反射進行 MemberInfo 對象檢索的對象。
如果 binder 為 null,則使用默認聯編程序。
//   args:  Object 類型的數組,包含要傳遞給構造函數的參數。此參數數組在數量、順序和類型方面必須

與要調用的構造函數的參數匹配。如果需要默認的構造函數,則 args 必須是空數組或 null。

 //   culture:   用于控制類型強制的 CultureInfo 的實例。如果這是 null,則使用當前線程的 CultureInfo。(例如,這對于將表示 1000   的 String 轉換為

Double 值是必需的,因為不同的區域性以不同的方式表示 1000。

//   activationAttributes:    包含一個或多個可以參與激活的屬性的數組。通常為包含單個 System.Runtime.Remoting.Activation.UrlAttribute 對象的數組。

System.Runtime.Remoting.Activation.UrlAttribute 指定激活遠程對象所需的 URL。有關客戶端激活的對象的詳細說明,請參見客戶端激活。

Activator類的靜態方法CreateInstance。

CreateInstance的***個參數說明是程序集的名稱,為null時表示當前程序集;第二個參數說明要創建的類型名稱。Activator.CreateInstance返回的是一個ObjectHandle對象,必須進行一次Unwrap()才能返回Object類型,進而可以強制轉換成我們需要的類型(本例中是MathClass)。ObjectHandle包含在System.Runtime.Remoting命名空間中,可見它是Remoting相關的,實際上ObjectHandle類只是一個對原類型進行了一個包裝以便進行封送。

無參構造:

有參構造:

動態調用 :

.使用InvokeMember調用方法

InvokeMember("方法名", BindingFlags.InvokeMethod, null,對象實例,方法參數);

靜態:InvokeMember("方法名", BindingFlags.InvokeMethod, null,'類型Type',方法參數);

.MethodInfo.Invoke調用方法


MethodInfo mi = t.GetMethod("方法名"", BindingFlags.Instance | BindingFlags.Public);

mi.Invoke(對象實例, null);

靜態

MethodInfo mi1 = t.GetMethod("方法名"", BindingFlags.Static | BindingFlags.Public);

Mi1.Invoke(null, 方法參數 );

用反射可以達到***程度上的多態

【編輯推薦】

  1. 詳解C#編程中的反射機制與方法
  2. Java開發中類的加載及反射機制
  3. .NET反射、委托技術與設計模式
責任編輯:彭凡 來源: cnblogs
相關推薦

2021-02-01 14:10:16

JavaClass.forNaClassLoader

2024-09-23 21:00:57

C#反射

2023-09-08 14:48:41

動態共享包HSP

2010-02-04 17:05:53

C++動態創建對象

2021-03-15 08:18:23

C#反射模塊

2009-10-13 09:05:45

反射機制

2023-10-17 09:26:44

Java工具

2024-05-27 09:52:57

反射技術.NET動態庫

2020-04-27 07:28:00

Java反射動態代理

2012-02-08 10:12:19

Java反射

2011-03-29 15:27:26

SQL Server 動態管理

2024-03-18 08:33:16

2009-08-21 08:41:44

C#反射

2013-08-21 16:57:48

.NET反射

2011-04-11 09:39:55

對象實例

2021-03-11 08:10:48

JVM對象的創建School

2009-08-10 13:34:11

創建C# COM對象

2021-03-17 07:49:21

Java對象內存

2010-10-08 10:52:36

JavaScript對

2024-01-05 08:22:52

GlanceJetpack插件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99热欧美 | 五月婷婷激情 | 在线观看国产 | 久久综合一区 | 精品久久久久久久 | 国产精品视频播放 | 91大神新作在线观看 | av在线电影网站 | 亚洲一区二区三区桃乃木香奈 | 日韩精品一区二区三区视频播放 | 欧美日韩一区二区在线播放 | 色妞av| 中文在线一区 | 国产精品久久久久久久久久久久久 | 国产精品18久久久久久白浆动漫 | 国产精品乱码一区二三区小蝌蚪 | 午夜精品视频在线观看 | 狠狠的日 | 91精品国产色综合久久不卡98口 | 国产一级一级毛片 | 亚洲天堂中文字幕 | 久久综合久色欧美综合狠狠 | 亚洲福利一区二区 | 亚洲劲爆av | 免费看爱爱视频 | 日韩欧美综合在线视频 | 成人免费av | 一区二区三区免费 | 国产精品久久久久久高潮 | 中文字幕日韩欧美一区二区三区 | 国产成人网 | 国产999精品久久久久久 | 黄色一级毛片免费看 | 成人在线精品 | 99re视频精品| 综合久久网 | 久久久久久亚洲欧洲 | 日韩欧美亚洲 | 91视频网址 | 国产高清一区二区 | 一区二区国产精品 |