Net 读取静态类与非静态类的属性

【C# in .NET】20. 探秘静态类:抽象与密封的结合体 静态类作为 C# 中特殊的类型形式,其底层实现融合了抽象类与密封类的特性,形成了不可实例化、不可继承的类型约束。 阅读详情

非静态类

1.定义一个非静态类. 静态属性可通过Static|Const定义

public class GlobalModel
    {
        public string Error1 { get; set; } = "A1";

        public string Error2 = "D1";

        /// <summary>
        /// 读取Model.Key,不需要实例化对象,只读
        /// </summary>
        public const string Error3 = "E1";
        /// <summary>
        /// 只读
        /// </summary>
        public readonly string Error4 = "F1";
        /// <summary>
        /// Model.Key
        /// </summary>
        public static string Error5 { get; } = "G1";
        public static string Error6 = "K";

    }

读取非静态类的属性以及属性值

using System.Reflection;
........
public void CheckModelProperty()
{
		GlobalModel model = new GlobalModel();
		Type t = model.GetType();
		var properties = t.GetProperties(); //这里读取的属性只能读取到含有{get;}访问器
		//遍历判断是否存在某个属性名/某个属性Value值
		foreach (System.Reflection.PropertyInfo s in properties)
		{
			//s.Name 属性名
			if(s.Name=="")
			{}
			//读取属性的Value值
			var value=s.GetValue(model, null);
		}
		//判断方式二
		//读取Model中Error5的属性
		var findkey=properties.Where(_ => _.Name == "Error5").FirstOrDefault(); 
		// 读取Model中某个属性值为A1的属性
		var findvalue=properties.Where(_ => _.GetValue(model, null).ToString() == "A1").FirstOrDefault();
		
}

静态类

1.定义一个静态类

    public static class GlobalStaticModel
    {
        public const string Error1 = "A";
        public static string Error2 = "B";
        public static string Error3 { get; set; } = "C";
        public static readonly string Error4 = "D";
    }

2.读取静态类属性

public void CheckModelProperty()
{
		var type = typeof(GlobalStaticModel);
        var fields = type.GetFields(); //读取的Fields是不包含{get;}访问器的
        //BindingFlags flags = BindingFlags.Static | BindingFlags.NonPublic;
        // var fields = type.GetFields(flags); 
		foreach (FieldInfo t in fields)
        {
            var codevalue = t.GetRawConstantValue(); //非const修饰属性会异常
        }
}
Robocopy 参数进阶:/MIR 镜像同步与 /PURGE 删除操作的风险规避指南 本文深入解析Robocopy的/MIR镜像同步与/PURGE删除操作的高级用法及风险规避策略。通过实际案例和四重防护机制,指导用户安全实现目录同步,避免数据丢失风险,特别适用于远程主机间的数据复制与备份场景。 阅读详情

相关推荐

从5V降到3.3V,你的LDO到底有多烫?手把手算功耗、选散热,避开这些坑

本文详细解析了LDO在5V转3.3V电路中的发热问题,提供了精确的功耗计算公式和散热设计方法。通过对比不同封装的热阻参数和优化PCB布局,帮助工程师有效降低LDO温度,避免热保护触发。文章还探讨了替代方案的技术拐点,为电源系统优化设计提供实用指导。

weixin_30304375的博客 436

类的静态属性

静态属性 在定义属性的时候,前面加上关键字:static,此时就是静态属性。 静态属性有什么用? 对比来说:一般属性,他的值是隶属于该类的具体某个对象(虽然定义在类中),或者说,每个对象的同样的属性的值,有可能不一样。 静态属性就是:只隶属于类本身——也可以看做是所有对象的“共有数据”。 静态属性的使用: 通过特殊的语法:::(双冒号语法,也叫范围解释符) 类::$静态属性名;...

weixin_30407099的博客 1673

OpenClaw 最强技能 self-improving-agent 详解:让 AI 从错误中自主学习

self-improving-agent 是 OpenClaw 生态中最受欢迎的技能插件,下载量突破 268k。它能让 AI 记住犯过的错误和解决方案,实现持续自我改进。本文深入讲解其工作原理、安装配置和实战案例。测试数据显示:部署流程时间从 15 分钟降到 2 分钟(87%↓),API 调试时间从 2 小时降到 20 分钟,数据库查询编写时间减少 90%。文章包含完整架构图、配置文件示例、3 个详细实战案例和性能测试数据,适合开发者、运维和数据分析师使用。

qq_38610923的博客 3635

类和对象系列教材 (九)- Java的类属性,静态属性

都是一样的,那么就应该设计为类属性。比如血量上限,所有的英雄的血量上限都是 9999,不会因为英雄不同,而取不同的值。给英雄设置一个类属性叫做“版权" (copyright), 无论有多少个具体的英雄,所有的英雄的版权都属于 Riot Games公司。如果一个属性,每个英雄都不一样,比如name,这样的属性就应该设计为对象属性,因为它是。如果一个属性声明成类属性,那么所有的对象,都共享这么一个值。不同对象的 对象属性 的值都可能不一样。但是所有对象的类属性的值,都是一样的。又叫实例属性,非静态属性。

Lan_ht的博客 102

宇树机器人G1二次开发:语音对话、打断与激活功能实现指南

宇树机器人G1是一款功能强大的四足机器人,其开放的SDK和API为开发者提供了广阔的二次开发空间。其中,语音交互是提升机器人智能化水平和用户体验的关键功能。本文将详细介绍如何在宇树机器人G1上进行二次开发,实现。语音打断允许用户在机器人说话时随时中断并输入新指令,这是提升交互自然度的关键功能。三大核心功能,帮助你构建更自然、更智能的人机交互系统。语音识别是将用户的语音输入转换为文本的过程。识别文本后,需要理解用户意图并生成回复。将文本回复转换为语音输出。

m0_52645558的博客 664

DP链路训练从HPD触发到通道对齐:原理与调试实战

高速数字接口的稳定工作依赖物理层信号的精确协商,链路训练正是DisplayPort接口中确保源端与接收端在速率、摆幅和时序上达成一致的关键机制。HPD作为链路状态变化的触发信号,与通道对齐一同构成了训练流程的首尾环节。理解从时钟恢复到均衡再到多通道对齐的完整过程,有助于快速定位显示异常问题。在工程实践中,借助DPCD寄存器交互和AUX通道日志,可以系统性地排查训练失败原因。围绕链路训练全流程进行剖析,重点探讨HPD触发机制、训练图案选择、寄存器配置以及链路降级策略,为显示方案开发与调试提供工程参考。

weixin_30110543的博客 234

Java基础学习笔记-类的静态属性和静态方法

程序运行时的内存占用 代码区(code area) 存放代码 数据区(data area) 存放全局数据、静态数据 堆区(heap area) 存放动态申请的数据 栈区(stack area) 存放局部数据、参数 Static 用static修饰的变量称为静态属性,又叫类变量 用static修饰的方法称为静态方法,又叫类方法(静态方法里,无this) 用来修饰初始化语句块,称为静态初始化语句块 类的静态属性和静态方法 即使没有创建该类的具体对象,类中的static类成员也会存在,这时可以通过:

tangdou369098655的博客 3997

YOLOv8首发优化:遥感目标检测 | 专为低质量遥感图像设计的边缘 - 高斯聚合(EGA)模块,解决低空间分辨率、传感器噪声、目标模糊、低光照退化和部分遮挡等限制

一种轻量级网络,其创新性地整合了专为低质量遥感图像设计的边缘 - 高斯聚合(EGA)模块。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 492

Java---类、static(静态)详解

static是静态的意思。static可以修饰成员变量或者修饰方法。

fly的博客 4249

Dify框架面试内容整理-如何优化Dify的应用性能?

为1536维)可选用 PCA、FAISS 的量化压缩方法降低维度(如128、256、512);对知识库预览、任务流配置等页面,使用 nginx/cache-control 减少请求。API 响应耗时(P50/P95)、Token 使用量、缓存命中率、向量检索耗时;对 Prompt+输入内容计算 Hash,缓存相同请求的返回结果;使用占位符 + 函数拼接,按需组合 Prompt,而非静态长模板;数据量大时,应在构建索引前清洗冗余段落、统一格式,避免重复向量。维度越低,检索越快,但可能影响召回准确度,需平衡。

不务正业的猿 1550

FPGA 学习笔记:Vitis IDE launch failed 的解决方法

FPGA 学习笔记:Vitis IDE launch failed 的解决方法

坚韧与专注 1万+

java--静态属性和非静态属性的赋值与取值

   public class Test {   static int age;   //由static修饰,静态属性   int classNum;     public static void main(String[] args) {     Test person = new Test();    //在这个对象

501846585_QQAndroid_java 3253

华为OD新系统机试真题 - 准备生日礼物(Py/Java/C/C++/Js/Go)

华为OD机试新系统真题 4.8【准备生日礼物】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【准备生日礼物】

qq_45776114的博客 1483

.NET Core 中使用静态类

概述:深入了解 C# 和 .NET Core 的世界,让我们解开静态类内存分配的复杂性,这个概念是高效和优化软件开发的核心。通过这次探索,我们不仅将揭开静态类的内存分配如何工作的神秘面纱,还将揭开如何利用这些知识来编写更高效和可扩展的代码。通过实时用例和代码示例,准备提升对 C# 中静态类的理解和应用。???? 了解 C 语言中的静态类#在 C# 中,静态类是无法实例化的特殊蓝图。换句话说,不能使用关键...

dotNET跨平台 431

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

.net core 5 静态类获取json配置的方法

.net core 获取配置方法

niewq的专栏 1651

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

关于C#和ASP.NET中对App.config和Web.config文件里的[appSettings]和[connectionStrings]节点进行新增、修改、删除和读取相关的操作

最近我做的一些项目,经常需要用到对应用程序的配置文件操作,如app.config和web.config的配置文件,特别是对配置文件中的[appSettings]和[connectionStrings]两个节点常常进行新增、修改、删除和读取相关的操作的,所以,我自己就亲手把这些相关的操作都封装到一个配置文件管理器中,用静态的方法来调用便可,以下是我的实现,以资参考.   ps:后来我依据这个随

ruijc的专栏 5653

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

C#/.NET 读取或修改文件的创建时间和修改时间

手工在博客中添加 Front Matter 文件头可是个相当费事儿的做法,这种事情就应该自动完成。 .NET 中提供了非常方便的修改文件创建时间的方法,使用这种方法,能够帮助自动完成一部分文件头的编写或者更新。 相关类型 .NET 中提供了两个不同的设置创建和修改时间的入口: File 静态类 FileInfo 类 ▲ File 静态类的方法 ▲ FileInf...

walterlv - 吕毅 1万+

.Net Core库类项目跨项目读取配置文件

.Net Core库类项目跨项目读取配置文件 原文:.Net Core库类项目跨项目读取配置文件 在项目开始之前我们可以先去了解一下IConfiguration接口,.Net Core Web应用程序类似于一个控制台,当程序运行到Startup时会自动注入IConfiguration,默认读取当前.Net Core Web应用程序中的apps...

weixin_30660027的博客 121

C# 中静态类的正确与错误用法

静态类是C#中封装工具方法的常见方式,适用于无状态、纯函数式场景(如数学计算、数据转换)。但引入静态字段会带来线程安全和隐藏依赖的风险,使代码难以测试和维护。静态类的主要弊端包括紧耦合、难以模拟依赖、破坏依赖注入机制。当方法涉及可变状态、需要多态或测试隔离时,应改用实例类配合接口和依赖注入。使用原则是:静态类只负责"计算"而非"存储",纯工具方法适用静态类,而涉及状态或外部依赖时应采用面向对象设计。

软件开发学习交流 772

.net5怎么读取文件

.NET 5 中读取文件的方法有多种,常用的有以下几种: 使用 System.IO 命名空间中的 File 类读取文件。 string fileContent= File.ReadAllText("filePath"); 使用 System.IO 命名空间中的 StreamReader 类读取文件。 using (StreamReader sr =new StreamReader("file...

weixin_35756624的博客 469

.NET简谈特性(代码属性)

由于很久没有写关于基础知识的东西了,今天来总结一下关于.NET平台中的代码属性的概念;只是基础介绍,文章的本意是带领初学者学会使用特性,而不是讨论高深的底层技术;[王清培版权所有,转载请给出署名] 1.什么叫特性Attribute 特性对一般.NET编程人员来说并不陌生,自从我们开始接触C#语言的时候,我们多多少少已经接触了关于特性的使用;但是对于初学者来说真的不明白特性的意义,特性...

dengzai7446的博客 191

写了一个Udp信息收发静态类!

最近准备利用.NET的套接字开发一个类似QQ的IM组件,先写了一个Udp信息收发静态类!//端口号参数以后重构时可以做成一个方法从配置文件中读取端口号。//关闭套接字释放资源。/// MessageUtility 消息工具类,该类是一个静态工具类。//将随机终结点与Udp套接字绑定,以等待流入的数据包。// TODO: 在此处添加构造函数逻辑。//创建一个接受任意发送者的终结点。//创建一个随机终结点对象。//创建一个udp套接字。//创建一个Udp套接字。

biyusr的专栏 438

对象调用静态方法_C#中静态成员、静态方法、静态类

平时在用C#做开发的朋友都知道,不论是静态成员还是静态方法还是静态类都是用static关键字来修饰。static关键字也就是说只要看到了static,那么它后面的东西就是静态!在c#中,静态成员或者静态方法是属于类的,不是属于对象。假如我们有一个类MyClass,需要实例化这个 类,就应该这么做:MyClass myclass = new MyClass();在这里,MyClass是类,mycla...

weixin_39876877的博客 2673

Asp.Net Core 在不能使用注入方式的情况下读取配置文件

最近在用Asp.Net Core 做项目,遇到一个在不能使用注入的类中读取配置文件的问题。 大家都知道在core中推荐使用注入的方式读取配置文件,这样读取到的值是强类型的,弥补了web.config的缺陷。 当我用着正爽的时候遇到了一个静态类也需要读取配置文件的问题,纠结了几天才又了这篇博文。 最初的版本是下面这个样子 public static class Configuration...

weixin_33910759的博客 470

八、.net core(.NET 6)配置读取appsettings文件内容的通用功能

添加通用读取配置文件功能 在Wsk.Core.Package项目下,新增Microsoft.Extensions.Configuration包: 在启动项目下,设置appsettings.json属性为始终复制: 新建一个文件夹Common,用于存放工具类项目。并且新建项目:Wsk.Core.AppSettings,引用package包项目,然后新建一个读取配置文件的通用类,叫AppH...

WeskyNet 4042

HOW TO:使用 System.IO 和 Visual C# .NET 读取文本文件

HOW TO:使用 System.IO 和 Visual C# .NET 读取文本文件  概要   要求

Meinherz的专栏 1405
上一篇: Mysql最大连接数,TimeOut配置
下一篇: EF Decimal小数保留问题
Gen??
博客等级 码龄7年 24粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值