C# 项目工程操作注意事项

C# 项目工程操作注意事项

说明

此博客只是用于记载应用VS过程中需注意的一些点,方便后续查阅!

且会持续补充~

1、读取项目中自带配置文件中的属性

写代码时,有时需保存一些配置文件,便于实现特定需求。而一般的项目中会有自带的配置文件,以C#的 控制台应用 为例。

首先在 App.cpnfig 中添加目标属性,如下

csharp 复制代码
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
    </startup>
	<appSettings>
		<add key="enableDC" value="true" />
	</appSettings>
</configuration>

此时可在项目中读取该属性,如

csharp 复制代码
bool res = JsonConvert.DeserializeObject<bool>(ConfigurationManager.AppSettings["enableDC"]);

但一般情况下,若只使用上述一行代码实现对值的获取,其只会获取 配置文件 在软件 启动 时反序列化后的数据。

即后续若在软件运行过程中手动修改了对应属性的值,再只依赖上述代码进行获取,其获取的依然是最初的数据,而非修改后的数据。

为了保证在代码中使用目标属性值的实时性,还需添加一个刷新数据的代码。整个代码如下

csharp 复制代码
ConfigurationManager.RefreshSection("appSettings");
var res = JsonConvert.DeserializeObject<bool>(ConfigurationManager.AppSettings["enableDC"]);
相关推荐
hixiong1232 小时前
C# OpenvinoSharp使用DINOv2模型进行图像相似度计算
开发语言·c#
月昤昽4 小时前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
Victory_20254 小时前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
雪度娃娃7 小时前
基于TCP的网络词典
网络·c++·tcp/ip·c#
xxjj998a8 小时前
PHP vs C#:两大编程语言终极对比
开发语言·c#·php
工程师0078 小时前
C# 泛型:约束、协变逆变、底层模板生成机制
c#·泛型·逆变·协变
bestcxx9 小时前
多个维度对 Java、Python、C#、Go 这四种主流编程语言进行比较
java·python·c#
我是唐青枫9 小时前
内存为什么越来越高?C#.NET GC 详解:分代回收、LOH、终结器与性能优化实战
性能优化·c#·.net
游乐码10 小时前
c#反射笔记二
笔记·c#
工程师00710 小时前
C# 变量:生命周期、作用域、变量逃逸
c#·生命周期·作用域·逃逸