2025-09-27
C#
00

摘要

依赖注入(Dependency Injection,简称DI)是一种设计模式,用于实现控制反转(Inversion of Control,简称IoC),以减少代码之间的耦合。在C#中,Autofac 是一个流行的IoC容器,它提供了一个强大的方式来管理对象的创建和它们的依赖关系。

正文

nuget 安装 Autofac

image.png

2025-09-27
C#
00

摘要


依赖注入(DI)是一种软件设计模式,旨在实现控制反转(IoC),以降低类之间的耦合度。在.NET生态中,Microsoft.Extensions.DependencyInjection是官方提供的一个轻量级的依赖注入容器。本文将详细介绍如何在C#中使用这个库,并通过多个场景提供具体的示例。

正文


基础概念

在深入例子之前,我们先回顾一下几个关键概念:

  • 服务(Service):通常是一个接口或抽象类,定义了一系列方法,它们可以执行特定的功能。
  • 服务实现者(Service Implementation):实现了服务的具体类。
  • 服务容器(Service Container):存储服务类型和对应实现的容器。
  • 服务注册(Service Registration):将服务及其实现类添加到服务容器的过程。
  • 服务解析(Service Resolution):从服务容器中获取服务实例的过程。
2025-09-27
C#
00

Dynamic Expresso 是一个开源的 .NET 库,它允许在运行时解析和执行 C# 代码表达式。通过 Dynamic Expresso,开发者可以动态地评估字符串形式的 C# 代码,而无需编译。这在许多场景下都非常有用,例如动态计算公式、规则引擎、脚本执行等。

特点

  • 动态解析和执行:允许在运行时解析和执行 C# 表达式。
  • 类型安全:支持类型检查,确保表达式的类型安全性。
  • 易于集成:可以轻松地集成到现有的 .NET 应用程序中。
  • 支持自定义函数和变量:可以在表达式中使用自定义函数和变量。

安装

你可以通过 NuGet 包管理器安装 Dynamic Expresso:

Bash
Install-Package DynamicExpresso

或通过 .NET CLI:

Bash
dotnet add package DynamicExpresso
2025-09-27
C#
00

摘要

在 C# 开发中,处理 null 值是一个常见的任务。null 表示一个变量没有引用任何对象或值类型的默认值。不恰当的 null 值处理可能导致 NullReferenceException,这是常见的运行时错误之一。在这篇文章中,我们将探讨 C# 中几种处理 null 的技术,并通过示例来说明它们的使用。

正文

1. Null 检查

最基本的处理 null 的方法是在使用变量之前进行显式检查。

C#
static void Main(string[] args) { PrintName(null); } static void PrintName(string name) { if (name != null) { Console.WriteLine(name); } else { Console.WriteLine("Name is null!"); } }
2025-09-27
C#
00

AdvancedDataGridView是一个功能强大的控件,扩展了标准的DataGridView,提供了更多的功能和灵活性。本文将介绍如何在WinForms应用程序中使用AdvancedDataGridView,并通过一个详细的示例来展示其用法。

安装AdvancedDataGridView

首先,我们需要从GitHub上获取AdvancedDataGridView控件。你可以从以下链接下载:

C#
https://github.com/davidegironi/advanceddatagridviews

下载完成后,将控件添加到你的项目中。

Nuget 安装

C#
NuGet\Install-Package DG.AdvancedDataGridView -Version 1.2.29301.14

image.png

创建WinForms项目

  1. 打开Visual Studio,创建一个新的WinForms项目。
  2. 将AdvancedDataGridView控件添加到工具箱中。你可以通过右键点击工具箱,选择“选择项...”,然后浏览到下载的AdvancedDataGridView.dll文件来完成这一步。