最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#關(guān)于反射加載的問題

 更新時(shí)間:2011年07月11日 22:47:14   作者:  
C#關(guān)于反射加載的問題,需要的朋友可以參考下。
三個(gè)程序集:
主程序集:BaseApp.exe
接口程序集:IBaseApplication
插件程序集:TestAttri
=======================================================================================
在接口程序中:
接口:IApp
屬性定義:ModuleAttribute
復(fù)制代碼 代碼如下:

public interface IApp : IMothed
{
void ParentForm(IApp frm);
}
namespace IBaseApplication.Attributes
{
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Interface | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Property, AllowMultiple = true, Inherited = false)]
public class ModuleAttribute : Attribute
{
public string IdName { get; set; }
public string ModuleName { get; set; }
public Type ModuleType { get; set; }
//public string AsmName { get; set; }
//public string ClassName { get; set; }
public string Description { get; set; }
}
}

在插件程序集中:
在該插件程序集中的AssemblyInfo類中標(biāo)識(shí)如下
復(fù)制代碼 代碼如下:

[assembly: IBaseApplication.Attributes.Module(ModuleType = typeof(UserControl1), IdName = "be4d9a5b-0455-4e9d-a255-25122b80bef1-UserControl1", ModuleName = "UserControl1", Description = "")]
[assembly: IBaseApplication.Attributes.Module(ModuleType = typeof(UserControl2), IdName = "be4d9a5b-0455-4e9d-a255-25122b80bef1-UserControl2", ModuleName = "UserControl2", Description = "")]

有兩個(gè)模塊分別是以下
復(fù)制代碼 代碼如下:

namespace TestAttri
{
public partial class UserControl1 : UserControl, IApp
{
……
}
}
namespace TestAttri
{
public partial class UserControl2 : UserControl, IApp
{
……
}
}

=================================================================================================
在主程序集中:
將插件放至到:Application.StartupPath + "\\Plus"
引用了接口程序集“IBaseApplication”
復(fù)制代碼 代碼如下:

/// <summary>
/// 獲取插件文件名稱
/// </summary>
/// <returns></returns>
public string[] GetPlusFiles()
{
return System.IO.Directory.GetFiles(Application.StartupPath + "\\Plus");
}
/// <summary>
/// 加載插件
/// </summary>
public void LoadPluFiles()
{
string[] files = GetPlusFiles();
Assembly assembly = Assembly.GetCallingAssembly();
foreach (string file in files)
{
ModuleAttribute[] attributes = Assembly.LoadFile(file).GetCustomAttributes(typeof(ModuleAttribute), false) as ModuleAttribute[];
foreach (ModuleAttribute attribute in attributes)
{
string m = attribute.ModuleType.FullName;
string m1 = attribute.ModuleType.Assembly.GetName().Name;
object obj = Activator.CreateInstance(attribute.ModuleType);
if (obj is IApp)
{//無法識(shí)別兩個(gè)模塊的接口。
}
}
}
}

相關(guān)文章

  • Unity實(shí)現(xiàn)局域網(wǎng)聊天室功能

    Unity實(shí)現(xiàn)局域網(wǎng)聊天室功能

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)局域網(wǎng)聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • WPF實(shí)現(xiàn)時(shí)鐘特效

    WPF實(shí)現(xiàn)時(shí)鐘特效

    這篇文章主要介紹了WPF實(shí)現(xiàn)時(shí)鐘特效,過程很簡單,感興趣的小伙伴們可以參考一下
    2015-11-11
  • 一個(gè)讀寫csv文件的C#類

    一個(gè)讀寫csv文件的C#類

    這篇文章主要為大家詳細(xì)介紹了一個(gè)讀寫csv文件的C#類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • .NET利用C#字節(jié)流動(dòng)態(tài)操作Excel文件

    .NET利用C#字節(jié)流動(dòng)態(tài)操作Excel文件

    在.NET開發(fā)中,通過字節(jié)流動(dòng)態(tài)操作Excel文件提供了一種高效且靈活的方式處理數(shù)據(jù),本文將演示如何在.NET平臺(tái)使用C#通過字節(jié)流創(chuàng)建,讀取,編輯及保存Excel文件,需要的可以參考下
    2024-12-12
  • 在Unity中實(shí)現(xiàn)動(dòng)畫的正反播放代碼

    在Unity中實(shí)現(xiàn)動(dòng)畫的正反播放代碼

    這篇文章主要介紹了在Unity中實(shí)現(xiàn)動(dòng)畫的正反播放代碼,非常的實(shí)用,這里推薦給大家,希望大家能夠喜歡。
    2015-03-03
  • UnityUI中繪制線狀統(tǒng)計(jì)圖

    UnityUI中繪制線狀統(tǒng)計(jì)圖

    這篇文章介紹了UnityUI中繪制線狀統(tǒng)計(jì)圖的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#中的out參數(shù)、ref參數(shù)和params可變參數(shù)用法介紹

    C#中的out參數(shù)、ref參數(shù)和params可變參數(shù)用法介紹

    這篇文章介紹了C#中的out參數(shù)、ref參數(shù)和params可變參數(shù)用法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • C#集合本質(zhì)之隊(duì)列的用法詳解

    C#集合本質(zhì)之隊(duì)列的用法詳解

    本文詳細(xì)講解了C#集合本質(zhì)之隊(duì)列的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • 說說C#的async和await的具體用法

    說說C#的async和await的具體用法

    本篇文章主要介紹了說說C#的async和await的具體用法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Winform在DataGridView中顯示圖片

    Winform在DataGridView中顯示圖片

    本文主要介紹在DataGridView如何顯示圖片,簡單實(shí)用,需要的朋友可以參考下。
    2016-05-05

最新評(píng)論

东乌珠穆沁旗| SHOW| 观塘区| 南阳市| 彭水| 宜昌市| 清流县| 兴文县| 寿阳县| 嫩江县| 中牟县| 多伦县| 龙川县| 隆回县| 延边| 凤凰县| 定西市| 临沂市| 永寿县| 饶河县| 武夷山市| 金门县| 兴义市| 丹棱县| 渝中区| 尼勒克县| 时尚| 沁源县| 若尔盖县| 泗洪县| 富川| 沁阳市| 东乡县| 安新县| 嘉义县| 若尔盖县| 兴山县| 海兴县| 沐川县| 长岭县| 河池市|