C#反射編程之GetConstructor()方法解讀
C# GetConstructor()方法
Type類中的GetConstructor()方法,是用來(lái)獲取當(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)文章
C#實(shí)現(xiàn)將Word轉(zhuǎn)化分享為電子期刊
曾經(jīng)由一個(gè)項(xiàng)目,要求實(shí)現(xiàn)制作電子期刊定期發(fā)送給企業(yè)進(jìn)行閱讀,由編輯人員使用 Microsoft Word先生成PDF文件,然后將生成的PDF文件轉(zhuǎn)化為JPEG文件,最后將JPEG文件生成電子書模式,本文給大家介紹了C#實(shí)現(xiàn)將Word轉(zhuǎn)化分享為電子期刊,需要的朋友可以參考下2023-12-12
在C#語(yǔ)言里對(duì)NULL的技術(shù)處理小結(jié)
在 C# 中處理 null 值是編寫可靠且可靠的代碼的一個(gè)重要方面,在本文中,我將討論一些在 C# 中處理 null 值的最常用技術(shù),感興趣的朋友跟隨小編一起看看吧2024-05-05
C#使用Spire.Doc設(shè)置Word頁(yè)眉頁(yè)腳的詳細(xì)教程
在日常的辦公自動(dòng)化中,Word 文檔的頁(yè)眉頁(yè)腳經(jīng)常被用來(lái)放置公司 LOGO、標(biāo)題、頁(yè)碼等信息,本文給大家介紹了如何借助 C# 與強(qiáng)大的文檔處理庫(kù) Spire.Doc,讓我們可以在代碼層面靈活地對(duì)頁(yè)眉頁(yè)腳進(jìn)行增刪改查,需要的朋友可以參考下2026-03-03
C# Ado.net實(shí)現(xiàn)讀取SQLServer數(shù)據(jù)庫(kù)存儲(chǔ)過程列表及參數(shù)信息示例
這篇文章主要介紹了C# Ado.net實(shí)現(xiàn)讀取SQLServer數(shù)據(jù)庫(kù)存儲(chǔ)過程列表及參數(shù)信息,結(jié)合實(shí)例形式總結(jié)分析了C#針對(duì)SQLServer數(shù)據(jù)庫(kù)存儲(chǔ)過程及參數(shù)信息的各種常見操作技巧,需要的朋友可以參考下2019-02-02
C#將圖片存放到SQL SERVER數(shù)據(jù)庫(kù)中的方法
這篇文章主要介紹了C#將圖片存放到SQL SERVER數(shù)據(jù)庫(kù)中的方法,以實(shí)例形式較為詳細(xì)的分析了C#保存圖片到SQL Server數(shù)據(jù)庫(kù)的具體步驟與相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
C#使用SendMessage實(shí)現(xiàn)進(jìn)程間通信的示例代碼
在軟件開發(fā)中,進(jìn)程間通信(IPC)是關(guān)鍵技術(shù)之一,C#通過調(diào)用Windows API的 SendMessage 函數(shù)實(shí)現(xiàn)這一功能,本文將通過實(shí)例介紹如何在C#中使用 SendMessage 進(jìn)行簡(jiǎn)單的進(jìn)程間數(shù)據(jù)傳遞,需要的朋友可以參考下2025-08-08

