随笔分类 - C#
摘要:Hi(高位):数据库生成,比如100、200、300 Lo(低位):本地生成,比如101、201、301 数据库给本地分配一个范围,范围用于主键的自增。 每次连接数据库的时候和当范围用完的时候都会从数据库中重新取出一个范围。 实体类: [Table("T_Menu")] public class M
阅读全文
摘要:.net 开发软件辅助 使用杨中科开发的NetAutoGUI,杨中科视频教程:1-开发环境搭建_哔哩哔哩_bilibili 网页自动化可以学习:selenium 更多的应用程序自动化开发:win32 API 本文章项目地址:NetAutoWx: 使用.net 实现自动给微信好友发送消息,没有微信登录
阅读全文
摘要:1. 创建Web程序 打开vs2022,选择ASP.NET Core Web应用(模型-视图-控制器)创建项目。 修改Program.cs public static void Main(string[] args) { var builder = WebApplication.CreateBuil
阅读全文
摘要:以下代码的源代码仓库:https://gitee.com/shllong/.net-Read-webConfig/tree/master 引用包: Microsoft.Extensions.Configuration 配置类库 Microsoft.Extensions.Configuration.B
阅读全文
摘要:需要引用包: Microsoft.Extensions.Configuration 配置文件类库 Microsoft.Extensions.Configuration.Binder 将配置文件转换成实体类的类库 Microsoft.Extensions.Configuration.Json 读取Js
阅读全文
摘要:.net 可以读取多种不同类型的配置文件,如:json、xml、ini等。 读取配置文件需要使用到的包: Microsoft.Extensions.Configuration 读取配置文件主要类库 Microsoft.Extensions.Configuration.Binder 将配置文件转换为实
阅读全文
摘要:实例化带参数类 如果一个类,在初始化时需要带一个参数,则在注册时使用AddScoped、AddTransient、AddSingleton的回调函数。 services.AddScoped<IConfigService>(s=>new TxtConfigServer() { FileName = "
阅读全文
摘要:使用类:Environment 使用方法:GetEnvironmentVariable 示例: public string GetValue(string name) { return Environment.GetEnvironmentVariable(name); }
阅读全文
摘要:.net 依赖注入使用的是构造函数注入方式,并且具有传染性。 比如有一个控制器中使用了日志和存储两个类,而存储中使用了日志类和配置类,则都只需要在其构造函数中写需要的类,然后在容器中注册,就可以直接使用。 日志类代码 // 日志接口 public interface ILog { public vo
阅读全文
摘要:实现了IDisposable接口的类会在离开using时自动调用Dispose方法 public class DisposeClass : IDisposable { public string Name { get; set; } public void Dispose() { this.Name
阅读全文
摘要:引言 控制反转(IoC)实现方法: (隐式)依赖注入:需要什么服务(类),直接在类里面写,然后系统在创建类的时候给服务(类)自动赋值。 (显式)服务定位器:需要什么服务(类)在给服务定位器要什么服务(类) 1. 初始化使用 引用包:Microsoft.Extensions.DependencyInj
阅读全文
摘要:1. 自定义Where方法 static void MM(string[] args) { IEnumerable<int> ints = new int[] { 1, 2, 4, 63, 12, 34, 46, 12, 45, 12456 }; // 使用LINQ中的Where方法 //IEnum
阅读全文
摘要:委托可以演变为匿名方法,然后由匿名方法演变成为Lambda。 static void MM(string[] args) { // 无参数无返回值的匿名方法 Action a1 = delegate () { Console.WriteLine("这是一个匿名方法"); }; a1(); // 有参
阅读全文
摘要:wpf 展示sql server 中iamge类型数据 image数据是二进制数据,现有一个字段存储的是图片,我需要用wpf的image控件把图片展示出来 使用的是三层技术,首先定义模型层,image类型的数据在模型层中用byte[]表示 public class A { public int Id
阅读全文
摘要:wpf 样式 wpf的样式与html中的css作用基本一致,都是用作样式重用的 样式使用的标签是 Window.Resources ,样式标签是 Window 标签的子标签 样式的命名使用: x:Key="样式名称" 使用样式使用 {StaticResource 样式名称} 或者 {DynamicR
阅读全文
摘要:在定义类或方法的时候,不清楚调用者会使用那种类型的参数,则可以先定义为泛型类型,在调用的时候再指定其类型 泛型分为泛型方法和泛型类,泛型方法的定义语法如下 void 方法名<泛型列表>() { // 方法体 } 泛型类的定义语法如下 public class 类名<泛型列表> { // 类体 } 泛
阅读全文
摘要:泛型委托的定义 泛型委托的作用可以使程序定义一个委托,满足多个需求,如需要定义一个int类型参数的委托和定义一个string类型类型的委托时,直接使用泛型,就可以减少多次定义委托 泛型委托定义时候只需要再方法名后加:<类型在方法中的名字> 类型可以是多个,多个类型之间用 ”,“ 逗号隔开 // 定义
阅读全文
摘要:委托简介 委托是一种数据类型,像类一样的数据类型,一般直接在命名空间中定义 定义委托时,使用关键字delegate,需要指定返回值类型、委托名称、参数列表 委托的使用 声明委托变量并赋值 委托是一个引用类型,可以为null,所以使用时候尽量先做非空验证 委托类型的变量只能赋值一个委托类型的对象(方法
阅读全文