C# 反射之Activator用法举例

article/2025/11/9 18:43:26

概述

     程序运行时,通过反射可以得到其它程序集或者自己程序集代码的各种信息,包括类、函数、变量等来实例化它们,执行它们,操作它们,实际上就是获取程序在内存中的映像,然后基于这个映像进行各种操作。

Activator用法介绍

Activator用于实例化对象的类,通过type获取类型后,可以通过它实例化对象. Activator.CreateInstance默认调用无参构造函数。

实例:先定义一个学生类型:

public class Student{public Student(){Name = "zls";Age = 18;id = 20;}public Student(string name,int age){Name = name;Age = age;id = 21;}public string Name { get; set; }public int Age { get; set; }public int id;public int Score(int a,int b ){return a + b;}}

1、无参数构造函数: 使用指定类型的默认构造函数来创建该类型的实例。

函数原型

public static object CreateInstance(Type type);
Type type = typeof(Student);Student test = Activator.CreateInstance(type) as Student;Console.WriteLine(test.id);

2. 有参数构造函数:使用与指定参数匹配程度最高的构造函数创建指定类型的实例。函数原型:

public static object CreateInstance(Type type, params object[] args);
test = Activator.CreateInstance(type, "zyr", 19) as Student;Console.WriteLine(test.id);

运行结果:

9ee8bf44bee76b202a5425ffc35bece2.png

当然创建实例有很多重载,System.Activator类中提供了三组静态方法来创建类型的实例,每组方法均提供多个重载,适用不同的场景。个别重载方法返回ObjectHandle对象,需要unwrap后才能获取对象实例。如:CreateInstanceFrom :使用指定的程序集文件和与指定参数匹配程度最高的构造函数来创建指定名称的类型的实例。

用法举例:

string t = "TestDll.Person";string assemblyPath = @"C:\Users\majm\source\repos\ConsoleApp29\bin\Debug\TestDll.dll";var personHandle = Activator.CreateInstanceFrom(assemblyPath, t);var person = (Person)personHandle.Unwrap();Console.WriteLine(person.Score(5,6));

运行结果:11


http://chatgpt.dhexx.cn/article/DwnrlrU4.shtml

相关文章

将IPA放到服务器提供下载

2015年12月15日 09:45:16 LC_畅 阅读数:3696 * 上传到服务器我们需要两个文件,一个ipa和一个 plist文件 * 注意plist文件和ipa包的名字必须要相同(最好取名英文) 第一步:把ipa文件放到你们服务…

ipa文件包获取服务器地址,iOS获取App ipa包以及资源文件

要获得线上APP的ipa文件,现在有以下几种方案 1.通过PP助手下载安装到手机的应用 2.通过iTools助手下载安装到手机的应用 3.通过Apple Configurator 2(Mac商店)获取 前两种方案网上的教程很多,这里只介绍第三种方案 首先 去Mac上的App Store下载Apple Con…

AppleStore 原始ipa文件提取

//TODO Apple Configurator 2提取ipa文件_饿到饱的博客-CSDN博客安装Apple Configurator 2从Mac AppStore安装Apple Configurator 2下载ipa打开后连接设备,选中设备点击添加,如果没登录就登录Apple ID,登录后会把你在AppStore下过的应用都列…

获取ipa文件下载链接(appstore下载链接)

获取apptore下载链接 所需工具: 一台越狱的iphone 抓包工具(fiddler或burp等) 步骤 1、ios10以下的版本,越狱之后下载插件ssl kill就可对appstore进行抓包 2、ios11以后的版本,越狱后要想访问appstore还需appstore++插件 3、打开appstore,找到要下载的软件,点击下…

Mac 电脑下载 AppStore 中的 ipa 软件包详细流程

附:iPhone 移除描述文件详细步骤(Apple Configurator 2) 1、Mac 电脑中安装 Apple Configurator 2 软件。 2、电脑连接手机,并信任,在所有设备中,选中设备,然后点击顶部的加号,选…

关于直接下载第三方IPA应用分发平台之蒲公英的研究

目前基于第三方应用分发的平台比较常用的就属蒲公英、fir等,在我们提交到平台后,我们可以通过扫描应用二维码来下载,比如蒲公英平台如下: 那么以上是非常普通的一个操作过程,问题来了:如何直接在电脑端下载…

ipa在线安装搭建_GBox:一款ipa签名安装下载神器

(主要功能:ipa签名安装、ipa安装包下载) 最新版使用教程点这里,并免费附送有效的企业证书: Alex.Leung:GBox免越狱签名安装IPA教程​zhuanlan.zhihu.com 一、推荐理由 让我们对市面上主流ipa安装工具作个对比: Shu: 付费应用,并且得配合捷径脚本使用JSBox:付费应用,…

苹果iPA游戏软件资源下载网站

苹果iPA游戏软件资源下载网站推荐,这篇文章我以比较公平的方式整理一下目前一些苹果iPA资源下载网站,每个网站的内容可以参考对应的截图,从而快速选择适合自己的资源站点。 1.iPA商店:https://ipa.store/ 2.Decrypt IPA Store&…

【已解决】ipa降级教学 苹果旧版APP下载

ipa降级教学 苹果旧版APP下载 平板有个软件新版本不好用,需要降级,所以出一个教学。教程基于一个旧版本下载的软件。 下载链接会放在这里,自行下载。使用前注册并登录. 安装包下载: 旧版APP下载软件: https://pan.baidu.com/s…

自建ipa下载服务器的方法(最简单,使用在线工具)

自建ipa下载服务非常复杂,首先要拥有域名,其实要用https,然后还要写plist那些,plist的语法还非常复杂,对于普通的ios开发者来说,自建下载服务非常麻烦,也没有必要。 因此,我们测试i…

输入下载页面链接自动获取ipa下载地址,支持本地下载,支持蒲公英和fir及绝大多数自定义下载页

IpaDownloadTool github地址 项目中使用的第三方:ALToastView、SGQRCode、BackButtonHandler Release版本 点击此处直接下载IpaDownloadTool安装包(ipa) 功能 此工具用来快捷下载/储存第三方来源的ipa支持蒲公英、fir下载页面拦截ipa地址、ipa下载支持其他网站自定义h5页…

下载应用 ipa 包,不妨试试这款开源工具

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇 来源丨小集 https://mp.weixin.qq.com/s/89BXRtejOJbhuzt7xbIOAg 开发人员经常有这样一个需求,将目前应用的 ipa 包下载下来,做一些研究性工作…

无需越狱手机,下载越狱版本IPA的方法

这两天在看一些逆向反编译的知识,很多工具的使用都是针对砸壳的ipa包,所以在了解这一部分的前提就需要: 越狱手机,下载越狱的IPA文件。学会对正版IPA进行脱壳。 没有越狱手机又不会脱壳技术的我,找到了一种简单的方法…

VMware 虚拟机安装 xp 蓝屏解决方法

我们在创建虚拟机的时候,选择的是去创建一个默认的虚拟机,然后创建完成直接将系统装在了这个虚拟机中 而这,就是这个问题的所在,对于网上下载的 sp3_iso 系统来讲,是需要一个 ida 的硬盘,就是要将虚拟机的硬…

VMware软件虚拟机不能全屏的问题

VMware装上Ubuntu系统后,发现虚拟机不是全屏的,如下: 解决办法:要么手动调整分辨率,要么安装vmware tools,下面介绍的后者。 ①先关闭虚拟件,右键,选择“设置” ②在硬件中选择&…

vmware16虚拟机如何查看宿主机文件

vmware-hgfsclient vmhgfs-fuse .host:/ /mnt/hgfs -o nonempty -o allow_other ls /mnt/hgfs 使用VMware虚拟机时,共享主机的文件夹可以方便的在虚拟机和主机之间传递文件,本文以vmware16为例给大家分享共享本机的文件夹的详细过程,感兴趣的…

VMWare Fusion虚拟机安装与配置教程

很多时候,我们都有用虚拟机的需求:比如用着Mac突然有一个软件只支持Windows,并且还需要与macOS上的软件搭配使用,况且你没有Windows电脑,这个时候虚拟机就能帮上大忙。在macOS上(笔者用的是MacBook Air&…

VMware创建虚拟机方法(已WindowsXP为例)

前言: 所需工具: VMware16或任意一个VMware的版本(博主已VMware16为例) ISO(博主已WindowsXP为例) ISO下载位置(如已有请忽略): csdn下载 msdn下载 步骤&#xff…

xp虚拟机安装方法

首先,去msdn下载xp镜像文件MSDN, 我告诉你 - 做一个安静的工具站 用迅雷下载 之后打开vmware,下载链接VMware - Delivering a Digital Foundation For Businesses 点击添加虚拟机-->选择典型 按照要求一步步完成 建议xp内存:4096mb 建…

VMware虚拟机安装xp系统

安装vmware安装xp xp使用微软原版,vm版本15.5安装后,可以连接网络。资源提取码: 链接:https://pan.baidu.com/s/1Vxrds1rjRMGcRjlGaDVy0Q 提取码:0101 –来自百度网盘超级会员V2的分享 要实现文件共享,需要…