欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中使用反射獲取結構體實例及思路

 更新時間:2013年10月09日 14:59:09   作者:  
一般用反射獲取類對象的實例比較簡單,只要類有一個無參構造函數(shù)或沒有顯示聲明帶參的構造函數(shù)即可使用

復制代碼 代碼如下:

static void Main(string[] args)
{
    Type type = typeof(MyObject);
    object obj = type.GetConstructor(Type.EmptyTypes).Invoke(null);
    Console.WriteLine(obj);
}

class MyObject
{

}


之前我一直沒有發(fā)現(xiàn)原來結構是不可以這樣實例化的

換種方式,似乎結構體使用反射無法得到其構造函數(shù)ConstructorInfo對象

類中有一個隱式的構造函數(shù),而結構沒有構造函數(shù)

我甚至嘗試查找非public構造函數(shù)

依然沒有

這問題一度困擾我很久....解決的方法并不難,所以也沒當回事,但今天有個朋友又問到了這個問題,所以總結一下發(fā)出來,給同樣遇到這個問題的朋友

其實非常簡單,只要這樣就可以了

復制代碼 代碼如下:

static void Main(string[] args)
{
    Type type = typeof(MyStruct);
    object obj1 = type.Assembly.CreateInstance(type.FullName);
}

struct MyStruct
{

}


這個方法說明

Assembly.CreateInstance

使用區(qū)分大小寫的搜索,從此程序集中查找指定的類型,然后使用系統(tǒng)激活器創(chuàng)建它的實例。

使用這個方法就不用管class還是struct 都是可以用的,如果是class只要保證有無參構造函數(shù)就可以了

這個方法不是什么高深的玩意兒,主要是給同樣碰到這個問題的同學說明一下

======================================================

感謝 KarasCanvas同學,原來C#還有Activator這么一個類

復制代碼 代碼如下:

Activator.CreateInstance(Type)

這樣就可以了

相關文章

  • 一個狀態(tài)機的實現(xiàn)

    一個狀態(tài)機的實現(xiàn)

    本文主要介紹了C#實現(xiàn)一個狀態(tài)機的思路與方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • C#實現(xiàn)事件總線的方法示例

    C#實現(xiàn)事件總線的方法示例

    事件總線是一種用于在應用程序內(nèi)部或跨應用程序組件之間進行事件通信的機制,本文主要介紹了C#實現(xiàn)事件總線的方法示例,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • C#?使用PrintDocument類打印標簽的方法

    C#?使用PrintDocument類打印標簽的方法

    本文介紹打印機初步配置,以及實現(xiàn)方法,標簽主要展示資產(chǎn)基本信息以及二維碼,對C#?使用PrintDocument類打印標簽的詳細過程感興趣的朋友一起看看吧
    2022-04-04
  • c# 以二進制讀取文本文件

    c# 以二進制讀取文本文件

    在當前目錄創(chuàng)建一個文件myfile.txt,對該文件具有讀寫權限
    2009-07-07
  • c#多線程之間的排他鎖的實現(xiàn)

    c#多線程之間的排他鎖的實現(xiàn)

    我們很多時候會碰到這樣的問題,使用多線程刷一個表的數(shù)據(jù)時需要多個線程不能重復提取數(shù)據(jù),那么這個時候就需要使用到線程的排他鎖了,本文就詳細的介紹一下
    2021-08-08
  • C#中時間的幾種格式轉換方法

    C#中時間的幾種格式轉換方法

    有時候我們要對C#時間進行轉換,達到不同的顯示效果,這里簡單介紹下,方便需要的朋友
    2013-09-09
  • Unity3D實現(xiàn)模型隨機切割

    Unity3D實現(xiàn)模型隨機切割

    這篇文章主要為大家詳細介紹了Unity3D實現(xiàn)模型隨機切割,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 關于C#中yield?return用法的思考

    關于C#中yield?return用法的思考

    在這篇文章中,我們將深入討論?C#?中yield?return的機制和用法,幫助您更好地理解這個強大的功能,并在實際開發(fā)中靈活使用它,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-05-05
  • 深入解析C#編程中struct所定義的結構

    深入解析C#編程中struct所定義的結構

    這篇文章主要介紹了C#編程中struct所定義的結構,與C++一樣,C#語言同時擁有類和結構,需要的朋友可以參考下
    2016-01-01
  • C#中委托用法實例分析

    C#中委托用法實例分析

    這篇文章主要介紹了C#中委托用法,較為詳細的分析了C#中委托的概念與相關的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05

最新評論