C#反射編程之GetConstructor()方法解讀
C# GetConstructor()方法
Type類中的GetConstructor()方法,是用來獲取當(dāng)前 Type 所表示的類的特定構(gòu)造函數(shù)。
有4個(gè)重載
GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) |
GetConstructor(BindingFlags, Binder, Type[], ParameterModifier[]) |
GetConstructor(BindingFlags, Type[]) |
GetConstructor(Type[]) |
以GetConstructor(Type[])為例
形參中的Type[],表示需要的構(gòu)造函數(shù)的參數(shù)個(gè)數(shù)、順序和類型的 Type 對(duì)象的數(shù)組。如果是空參構(gòu)造函數(shù),可以將Type[]設(shè)置為空數(shù)組。
返回類型是ConstructorInfo類型。表示某個(gè)公共實(shí)例構(gòu)造函數(shù)的對(duì)象,如果沒有,則為null。
實(shí)例代碼:
using System; using System.Reflection; public class MyClass1 { public MyClass1() { } public MyClass1(int i) { } public static void Main() { try { Type myType = typeof(MyClass1); Type[] types = new Type[1]; types[0] = typeof(int); // Get the constructor that takes an integer as a parameter. ConstructorInfo constructorInfoObj = myType.GetConstructor(types); if (constructorInfoObj != null) { Console.WriteLine("The constructor of MyClass1 that takes an " + "integer as a parameter is: "); Console.WriteLine(constructorInfoObj.ToString()); } else { Console.WriteLine("The constructor of MyClass1 that takes an integer " + "as a parameter is not available."); } } catch (Exception e) { Console.WriteLine("Exception caught."); Console.WriteLine("Source: " + e.Source); Console.WriteLine("Message: " + e.Message); } } }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
DataGridView自動(dòng)設(shè)定列寬和行高
這篇文章介紹了DataGridView自動(dòng)設(shè)定列寬和行高的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02C#使用Fody實(shí)現(xiàn)監(jiān)控方法執(zhí)行時(shí)間
這篇文章主要為大家詳細(xì)介紹了C#如何使用Fody實(shí)現(xiàn)監(jiān)控方法執(zhí)行時(shí)間,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解下2023-11-11Unity3D Shader實(shí)現(xiàn)貼圖切換效果
這篇文章主要為大家詳細(xì)介紹了Unity3D Shader實(shí)現(xiàn)貼圖切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03C#怎么實(shí)現(xiàn)手機(jī)短信發(fā)送功能
為了個(gè)人信息的安全,很多網(wǎng)站都有短信發(fā)送的功能,究竟是怎么實(shí)現(xiàn)的呢?對(duì)于個(gè)人站長來說的話,通過使用sms短信通知api接口相對(duì)比較簡單,下面小編給大家介紹具體實(shí)現(xiàn)過程,對(duì)c#怎么實(shí)現(xiàn)手機(jī)短信發(fā)送功能感興趣的朋友一起學(xué)習(xí)吧2015-12-12C#動(dòng)態(tài)生成DropDownList執(zhí)行失敗原因分析
這篇文章主要介紹了C#動(dòng)態(tài)生成DropDownList執(zhí)行失敗原因分析,以一個(gè)實(shí)例形式分析了C#動(dòng)態(tài)生成DropDownList的相關(guān)注意要點(diǎn)與使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03C# Onnx CenterNet實(shí)現(xiàn)目標(biāo)檢測的示例詳解
這篇文章主要為大家詳細(xì)介紹了C# Onnx CenterNet實(shí)現(xiàn)目標(biāo)檢測的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12VsCode使用EmmyLua插件調(diào)試Unity工程Lua代碼的詳細(xì)步驟
這篇文章主要介紹了VsCode使用EmmyLua插件調(diào)試Unity工程Lua代碼,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08