C# Activator
需要動態的建立一個例項模型的時候,就用Activator.CreateInstance(Type type);如果是明確的知道要建立哪個例項的模型,就可以用 new
C#在類工廠中動態建立類的例項,所使用的方法為:
1. Activator.CreateInstance (Type) 2. Activator.CreateInstance (Type, Object[]) |
兩種方法區別僅為:建立無引數的構造方法和建立有引數的建構函式。
動態建立時,可能會動態使用到外部應用的DLL中類的例項,則此時需要進行反編譯操作,使用Reflection命名控制元件下的Assembly類。
//先使用Assembly類載入DLL,再根據類的全路徑獲取類
object result = null;
Type typeofControl = null;
Assembly tempAssembly;
tempAssembly = Assembly.LoadFrom(vDllName);
typeofControl = tempAssembly.GetType(vFullClassName);
result = Activator.CreateInstance(typeofControl, objParam);
例項化一個類的方式
- 用 New 關鍵字例項化一個類
New 關鍵字用於建立物件和呼叫建構函式。是例項化一個類最常見的方式。
- 用 Activator 例項化一個類
Activator 用以在本地或從遠端建立物件型別,或獲取對現有遠端物件的引用。其 CreateInstance 方法建立在程式集中定義的型別的例項。
- 用 Assembly 例項化一個類
Assembly 表示一個程式集,它是一個可重用、無版本衝突並且可自我描述的公共語言執行庫應用程式構造塊。該類可以載入程式集、瀏覽程式集的後設資料和構成部分、發現程式集中包含的型別以及建立這些型別的例項。
載入程式集的推薦方式是使用 Load 方法。GetType 方法可用於在程式集中搜尋特定型別。CreateInstance 方法可用於在程式集中搜尋和建立型別的例項。
相關文章
- 通過Typesafe Activator建立akka java sampleJava
- HEU KMS Activator:一款方便快捷的Win/Office全自動啟用工具
- 【C#】Learn C# in X minutesC#
- [C#]C#中字串的操作C#字串
- [C#]C#時間日期操作C#
- C#C#
- C# 語言歷史版本特性(C# 1.0到C# 8.0彙總)C#
- C#語言歷史版本特性(C# 1.0到C# 8.0彙總)C#
- C# 9.0 正式釋出了(C# 9.0 on the record)C#
- C# on DevCloudC#devCloud
- C# DbHeplerC#
- C# FirstOrDefaultC#
- C# 概念C#
- C#反射C#反射
- c# 方法C#
- c# ArraySegmentC#
- C# dynamicC#
- C# is與asC#
- Thrift c#C#
- C# HexEditC#
- c# abstractC#
- C# BackgroudWorkerC#
- XMLOperator[C#]XMLC#
- c# listviewC#View
- C#字串C#字串
- 《Effective C#》C#
- C#方法C#
- C# 物件C#物件
- C#特性C#
- c# channelC#
- C# ViewStateC#View
- C# 打包C#
- 重學c#系列——c#執行原理(二)C#
- C#神器"BlockingCollection"類實現C#神仙操作C#BloCGC
- C#入門之C#特點及HelloWorld程式C#
- C#基礎系列--C#中委託與事件(三)C#事件
- C#基礎系列--C#中委託與事件(一)C#事件
- 【C#開發】C#的協變和逆變C#