C#__使用Type类反射数据的基本用法

 // 简单介绍

// 元数据(metadata):与程序及其类型有关的数据。
// 反射:一个运行的程序查看本身元数据或其他程序集中的元数据的行为
// Assembly类:允许访问给定程序集的元数据,包含了可以加载和执行程序集

// 定义一个用于访问的类MyClass

    class MyClass{private int a, b;public int c;public string d;public string Name1 { get; set; }public string Name2 { get; set; }public void Test1() { }public void Test2() { }}

// 主函数调用

    class Program{static void Main(string[] args){// 使用Type类可以反射数据// 定义// 方案一Type t1 = typeof(MyClass);// 方案二MyClass myclass = new MyClass();Type t2 = myclass.GetType();// 获取类名Console.WriteLine(t1.Name); // MyClassConsole.WriteLine(t2.Name); // MyClass// 获取空间名Console.WriteLine(t1.Namespace); // TypeAndAssemblyConsole.WriteLine(t2.Namespace); // TypeAndAssembly// 获取程序集的基本信息 (空间名,版本,文化,公共钥匙符号)Console.WriteLine(t1.Assembly); // TypeAndAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullConsole.WriteLine(t2.Assembly); // TypeAndAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null// 提取MyClass的字段的属性FieldInfo[] fis = t1.GetFields();foreach (FieldInfo fi in fis){Console.WriteLine(fi.Name); //c//d}// 提取MyClass的属性的 get 访问器。PropertyInfo[] pis = t2.GetProperties();foreach (PropertyInfo pi in pis){Console.WriteLine(pi); // System.String Name1// System.String Name2}// 提取Myclass的类函数(包含继承自父类的)MethodInfo[] mis = t2.GetMethods();foreach (MethodInfo mi in mis){Console.WriteLine(mi);/*System.String get_Name1()Void set_Name1(System.String)System.String get_Name2()Void set_Name2(System.String)Void Test1()Void Test2()Boolean Equals(System.Object)Int32 GetHashCode()System.Type GetType()System.String ToString()*/}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/41614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven框架SpringBootWeb简单入门

一、Maven ★ Maven:是Apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。 官网:https://maven.apache.org/ ★ Maven的作用: 1. 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题。 2. 统一项目结构:提供标准、统一的项目结构。 …

LightDB 23.3 plorasql 函数支持inout参数输出

开篇立意 oracle PLSQL函数中返回值有两种情况: (1)使用return返回值; (2)使用out修饰的参数(oracle不支持inout) SQL> create function yu(id inout int) return int asbeginn…

【C# 基础精讲】文件读取和写入

文件读取和写入是计算机程序中常见的操作,用于从文件中读取数据或将数据写入文件。在C#中,使用System.IO命名空间中的类来进行文件读写操作。本文将详细介绍如何在C#中进行文件读取和写入,包括读取文本文件、写入文本文件、读取二进制文件和写…

选择大型语言模型自定义技术

推荐:使用 NSDT场景编辑器 助你快速搭建可二次编辑器的3D应用场景 企业需要自定义模型来根据其特定用例和领域知识定制语言处理功能。自定义LLM使企业能够在特定的行业或组织环境中更高效,更准确地生成和理解文本。 自定义模型使企业能够创建符合其品牌…

PAT 1013 Battle Over Cities

个人学习记录,代码难免不尽人意。 It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediately if we need to repair a…

计算机机房的管理

1 电源问题 不稳定的电源对电脑的使用寿命是一个极大的威胁,特别是对于机房来说危害 性更大。为此,学校要添置必要的稳压器,设置其正常供电的电压为 220 伏、电流 为 l6 安对电脑室供电。如有电压发生偏差,要及时检查供电情况&…

BDA初级分析——认识SQL,认识基础语法

一、认识SQL SQL作为实用技能,热度高、应用广泛 在对数据分析人员的调查中SQL长期作为热度排名第-一的编程语言超过Python和R SQL:易学易用,高效强大的语言 SQL:Structured Query Language 结构化查询语言 SQL:易学…

python threading.Event()用法

红绿灯例子 Event的用法 import threading,timeeventthreading.Event()def lighter():timesec0event.set()while True:if 5<timesec<10:event.clear()print("红灯亮")elif timesec>10:event.set()timesec0else:print("绿灯亮")time.sleep(1)tim…

BSN“五、十、百”工程实施半年成果丰硕,助力数字化转型和高质量发展

为推动“云网链”融合的新基建赋能数字经济高质量发展&#xff0c;将区块链服务网络&#xff08;BSN&#xff09;打造成为中国数字经济和社会治理的核心区块链公共服务平台&#xff0c;2023年2月&#xff0c;在“第三届区块链服务网络&#xff08;BSN&#xff09;全球合作伙伴大…

力扣75——二分查找

总结leetcode75中的二分查找算法题解题思路。 上一篇&#xff1a;力扣75——堆/优先队列 力扣75——二分查找 1 猜数字大小2 咒语和药水的成功对数3 寻找峰值4 爱吃香蕉的珂珂1-4解题总结 1 猜数字大小 题目&#xff1a; 猜数字游戏的规则如下&#xff1a;每轮游戏&#xff0…

多维时序 | MATLAB实现WOA-CNN-BiGRU-Attention多变量时间序列预测

多维时序 | MATLAB实现WOA-CNN-BiGRU-Attention多变量时间序列预测 目录 多维时序 | MATLAB实现WOA-CNN-BiGRU-Attention多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | MATLAB实现WOA-CNN-BiGRU-Attention多变量时间序列预测 1.程…

java 向上取整 java对小数取整

取整方法 Math.floor(double a) 向下取整 Math.ceil(double a) 向上取整 Math.round(double a) 四舍五入 0.5向下取整 Math.rint(double a) 就近取整 1.6接近2&#xff0c;所以就取2 1.4接近1&#xff0c;所以就取1 1.5跟1和2都很接近&#xff0c;这时候就取偶数 (int) 类型强转…

MongoDB:数据库初步应用

一.连接MongoDB 1.MongoDBCompass连接数据库 连接路径:mongodb://用户名:密码localhost:27017/ 2.创建数据库(集合) MongoDB中数据库被称为集合. MongoDBCompass连接后,点击红色框加号创建集合,点击蓝色框加号创建文档(数据表) 文档中的数据结构(相当于表中的列)设计不用管…

腾讯云国际轻量应用服务器使用流程是什么呢?

腾讯云国际轻量应用服务器怎么使用呢&#xff1f;下面一起来了解一下&#xff1a; 1. 熟悉轻量应用服务器基础知识 ①什么是轻量应用服务器 TencentCloud Lighthouse&#xff1f; ②轻量应用服务器与云服务器 CVM 的区别是什么&#xff1f; ③为什么选择轻量应用服务器&#xf…

一个DW的计算

一个DW的计算 1- 题目: 已知一个DW1.1 要求: 从DW中取出指定的位的值1.1.1 分析1.1.2 实现1.1.3 简化实现1.1.4 验证 2- 题目: 已知一个DW2.1 要求: 从DW中的指定的P和S,取出指定的位的值2.1.1 分析2.1.2 实现 1- 题目: 已知一个DW 有图中所示一行信息&#xff0c;表示一个DW(…

常见的Web安全漏洞有哪些,Web安全漏洞常用测试方法介绍

Web安全漏洞是指在Web应用程序中存在的可能被攻击者利用的漏洞&#xff0c;正确认识和了解这些漏洞对于Web应用程序的开发和测试至关重要。 一、常见的Web安全漏洞类型&#xff1a; 1、跨站脚本攻击(Cross-Site Scripting&#xff0c;XSS)&#xff1a;攻击者通过向Web页面注入…

神经网络基础-神经网络补充概念-41-梯度的数值逼近

概念 梯度的数值逼近是一种用于验证梯度计算正确性的方法&#xff0c;它通过近似计算梯度来与解析计算的梯度进行比较。虽然数值逼近在实际训练中不常用&#xff0c;但它可以用来检查手动或自动求导的实现是否正确。 代码实现 import numpy as np# 定义函数 f(x) x^2 def f…

养生的年轻人,自己给自己“治病”

【潮汐商业评论/原创】 “最近嘴周总长痘&#xff0c;应该是上火了&#xff0c;我这就下单点金银花露喝。”对于长痘这件事&#xff0c;Anna的第一反应就是“内调”。 “针对性护肤和涂药这些方法治标不治本&#xff0c;就算用完痘痘不泛红且瘪了&#xff0c;身体里的问题没解…

上传文件报413Request EntityToo Large错误解决办法

产生这种原因是因为服务器限制了上传大小 1、nginx服务器的解决办法 修改nginx.conf的值就可以解决了 将以下代码粘贴到nginx.conf内 client_max_body_size 20M 可以选择在http{ }中设置&#xff1a;client_max_body_size 20m; 也可以选择在server{ }中设置&#xff1a;cli…

金蝶软件实现Excel数据复制分录信息粘贴到单据体分录行中

>>>适合KIS云专业版V16.0|KIS云旗舰版V7.0|K/3 WISE 14.0等版本<<< 实现Excel数据复制分录信息粘贴到金蝶单据体分录中,在采购订单|采购入库单|销售订单|销售出库单等类型单据中,以少量的必要字段在excel表格中按模板填列好,很方便快捷地复制到金蝶单据表体…