Skip to content

Fast.Runtime 公开 API

目标 net8.0;net9.0;net10.0。本页为语法声明与 XML 注释参考,运行示例和边界见模块用法

源码提交:43554c07f6c216f80b509bd535c0a5b66ae7f2e8。维护流程:scripts/export-dotnet-api.ps1;普通站点构建直接消费此文件。

System.ApiInfoAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Method)]
public class ApiInfoAttribute : Attribute

接口信息

System.ApiInfoAttribute.Name

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Name { get; set; }

接口名称

System.ApiInfoAttribute.Action

源码 · 目标:net8.0、net9.0、net10.0

csharp
public HttpRequestActionEnum Action { get; set; }

操作方式

System.ApiInfoAttribute.ApiInfoAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
public ApiInfoAttribute(string name)

接口信息

  • 参数 name:接口名称

System.ApiInfoAttribute.ApiInfoAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
public ApiInfoAttribute(string name, HttpRequestActionEnum action)

接口信息

  • 参数 name:接口名称
  • 参数 action:HttpRequestActionEnum 操作方式

System.FastEnumAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Enum)]
public class FastEnumAttribute : Attribute

枚举特性

说明:用于区分是否可以写入枚举字典的特性

System.FastEnumAttribute.ChName

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string ChName { get; set; }

中文名称

System.FastEnumAttribute.EnName

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string EnName { get; set; }

英文名称

System.FastEnumAttribute.Remark

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Remark { get; set; }

备注

System.FastEnumAttribute.FastEnumAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
public FastEnumAttribute()

枚举特性

说明:用于区分是否可以写入枚举字典的特性

System.FastEnumAttribute.FastEnumAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
public FastEnumAttribute(string chName, string enName, string remark)

枚举特性

说明:用于区分是否可以写入枚举字典的特性

  • 参数 chName:中文显示名称
  • 参数 enName:英文显示名称
  • 参数 remark:补充说明

System.FastEnumAttribute.FastEnumAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
public FastEnumAttribute(string chName, string enName)

枚举特性

说明:用于区分是否可以写入枚举字典的特性

  • 参数 chName:中文显示名称
  • 参数 enName:英文显示名称

System.FastEnumAttribute.FastEnumAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
public FastEnumAttribute(string chName)

枚举特性

说明:用于区分是否可以写入枚举字典的特性

  • 参数 chName:中文显示名称

System.MapHubAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public class MapHubAttribute : Attribute

集线器配置特征

System.MapHubAttribute.Pattern

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Pattern { get; set; }

配置终点路由地址

System.MapHubAttribute.MapHubAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
public MapHubAttribute(string pattern)

初始化类的新实例

  • 参数 pattern:用于匹配目标项的模式

System.SuppressSnifferAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Class
                | AttributeTargets.Interface
                | AttributeTargets.Method
                | AttributeTargets.Enum
                | AttributeTargets.Struct)]
public class SuppressSnifferAttribute : Attribute

不被扫描和发现的特性

说明:用于程序集扫描类型或方法时候

System.ComponentModel.DataAnnotations.DateTimeRequiredAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
public class DateTimeRequiredAttribute : ValidationAttribute

验证 DateTime 类型属性必填

说明:默认必须在 1949-10-01 ~ 2099-12-31 之间

System.ComponentModel.DataAnnotations.DateTimeRequiredAttribute.MinValue

源码 · 目标:net8.0、net9.0、net10.0

csharp
public DateTime MinValue { get; set; } = new(1949, 10, 01, 00, 00, 00);

最小值

System.ComponentModel.DataAnnotations.DateTimeRequiredAttribute.MaxValue

源码 · 目标:net8.0、net9.0、net10.0

csharp
public DateTime MaxValue { get; set; } = new(2099, 12, 31, 23, 59, 59);

最大值

System.ComponentModel.DataAnnotations.DateTimeRequiredAttribute.IsValid

源码 · 目标:net8.0、net9.0、net10.0

csharp
public override bool IsValid(object value)

说明继承自接口或基类,需结合对应声明阅读。

System.ComponentModel.DataAnnotations.DecimalRequiredAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
public class DecimalRequiredAttribute : ValidationAttribute

验证 decimal 类型属性必填

System.ComponentModel.DataAnnotations.DecimalRequiredAttribute.AllowZero

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowZero { get; set; } = true;

允许零

System.ComponentModel.DataAnnotations.DecimalRequiredAttribute.AllowNegative

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowNegative { get; set; } = false;

允许负数

System.ComponentModel.DataAnnotations.DecimalRequiredAttribute.IsValid

源码 · 目标:net8.0、net9.0、net10.0

csharp
public override bool IsValid(object value)

说明继承自接口或基类,需结合对应声明阅读。

System.ComponentModel.DataAnnotations.DoubleRequiredAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
public class DoubleRequiredAttribute : ValidationAttribute

验证 double 类型属性必填

System.ComponentModel.DataAnnotations.DoubleRequiredAttribute.AllowZero

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowZero { get; set; } = true;

允许零

System.ComponentModel.DataAnnotations.DoubleRequiredAttribute.AllowNegative

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowNegative { get; set; } = false;

允许负数

System.ComponentModel.DataAnnotations.DoubleRequiredAttribute.IsValid

源码 · 目标:net8.0、net9.0、net10.0

csharp
public override bool IsValid(object value)

说明继承自接口或基类,需结合对应声明阅读。

System.ComponentModel.DataAnnotations.EnumRequiredAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
public class EnumRequiredAttribute : ValidationAttribute

验证 Enum 类型属性必填

说明:默认验证当前值是否在枚举值中,如果需要验证其余的逻辑,请自行验证

System.ComponentModel.DataAnnotations.EnumRequiredAttribute.AllowZero

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowZero { get; set; } = false;

允许零

说明:常用于默认的枚举值为 None = 0,但是不允许选择的问题

System.ComponentModel.DataAnnotations.EnumRequiredAttribute.FlagEnum

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool FlagEnum { get; set; } = false;

Flag 枚举

System.ComponentModel.DataAnnotations.EnumRequiredAttribute.IsValid

源码 · 目标:net8.0、net9.0、net10.0

csharp
public override bool IsValid(object value)

说明继承自接口或基类,需结合对应声明阅读。

System.ComponentModel.DataAnnotations.FloatRequiredAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
public class FloatRequiredAttribute : ValidationAttribute

验证 float 类型属性必填

System.ComponentModel.DataAnnotations.FloatRequiredAttribute.AllowZero

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowZero { get; set; } = true;

允许零

System.ComponentModel.DataAnnotations.FloatRequiredAttribute.AllowNegative

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowNegative { get; set; } = false;

允许负数

System.ComponentModel.DataAnnotations.FloatRequiredAttribute.IsValid

源码 · 目标:net8.0、net9.0、net10.0

csharp
public override bool IsValid(object value)

说明继承自接口或基类,需结合对应声明阅读。

System.ComponentModel.DataAnnotations.IntRequiredAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
public class IntRequiredAttribute : ValidationAttribute

验证 int 类型属性必填

System.ComponentModel.DataAnnotations.IntRequiredAttribute.AllowZero

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowZero { get; set; } = false;

允许零

System.ComponentModel.DataAnnotations.IntRequiredAttribute.AllowNegative

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowNegative { get; set; } = false;

允许负数

System.ComponentModel.DataAnnotations.IntRequiredAttribute.IsValid

源码 · 目标:net8.0、net9.0、net10.0

csharp
public override bool IsValid(object value)

说明继承自接口或基类,需结合对应声明阅读。

System.ComponentModel.DataAnnotations.LongRequiredAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
public class LongRequiredAttribute : ValidationAttribute

验证 long 类型属性必填

System.ComponentModel.DataAnnotations.LongRequiredAttribute.AllowZero

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowZero { get; set; } = false;

允许零

System.ComponentModel.DataAnnotations.LongRequiredAttribute.AllowNegative

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowNegative { get; set; } = false;

允许负数

System.ComponentModel.DataAnnotations.LongRequiredAttribute.IsValid

源码 · 目标:net8.0、net9.0、net10.0

csharp
public override bool IsValid(object value)

说明继承自接口或基类,需结合对应声明阅读。

System.ComponentModel.DataAnnotations.StringRequiredAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
public class StringRequiredAttribute : ValidationAttribute

验证 string 类型属性必填

System.ComponentModel.DataAnnotations.StringRequiredAttribute.AllowEmptyString

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowEmptyString { get; set; } = false;

允许空字符串

System.ComponentModel.DataAnnotations.StringRequiredAttribute.AllowWhitespace

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool AllowWhitespace { get; set; } = true;

允许前后空格

System.ComponentModel.DataAnnotations.StringRequiredAttribute.IsValid

源码 · 目标:net8.0、net9.0、net10.0

csharp
public override bool IsValid(object value)

说明继承自接口或基类,需结合对应声明阅读。

Fast.Runtime.UserAgentInfo

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public class UserAgentInfo

用户代理信息

Fast.Runtime.UserAgentInfo.Device

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Device { get; set; }

设备

Fast.Runtime.UserAgentInfo.OS

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string OS { get; set; }

操作系统(版本)

Fast.Runtime.UserAgentInfo.Browser

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Browser { get; set; }

浏览器(版本)

Fast.Runtime.WanNetIPInfo

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public class WanNetIPInfo

公网 IP 信息

Fast.Runtime.WanNetIPInfo.Ip

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Ip { get; set; }

Ip 地址

Fast.Runtime.WanNetIPInfo.Province

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Province { get; set; }

省份

Fast.Runtime.WanNetIPInfo.ProvinceZipCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string ProvinceZipCode { get; set; }

省份邮政编码

Fast.Runtime.WanNetIPInfo.City

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string City { get; set; }

城市

Fast.Runtime.WanNetIPInfo.CityZipCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string CityZipCode { get; set; }

城市邮政编码

Fast.Runtime.WanNetIPInfo.Address

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Address { get; set; }

地理信息

Fast.Runtime.WanNetIPInfo.Operator

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Operator { get; }

运营商

Fast.Runtime.ConsoleWriter

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public sealed class ConsoleWriter

控制台同步写入回调使用的颜色与文本输出上下文

说明:仅在当前写入回调内使用,输出重定向时忽略颜色设置

Fast.Runtime.ConsoleWriter.ForegroundColor

源码 · 目标:net8.0、net9.0、net10.0

csharp
public ConsoleColor ForegroundColor { get; set; }

当前控制台前景色,输出重定向时忽略设置

Fast.Runtime.ConsoleWriter.BackgroundColor

源码 · 目标:net8.0、net9.0、net10.0

csharp
public ConsoleColor BackgroundColor { get; set; }

当前控制台背景色,输出重定向时忽略设置

Fast.Runtime.ConsoleWriter.Write

源码 · 目标:net8.0、net9.0、net10.0

csharp
public void Write(string value)

写入文本而不追加换行

  • 参数 value:要写入的文本,为 null 时不输出内容

Fast.Runtime.ConsoleWriter.Write

源码 · 目标:net8.0、net9.0、net10.0

csharp
public void Write(object value)

写入对象的文本表示而不追加换行

  • 参数 value:要写入的对象,为 null 时不输出内容

Fast.Runtime.ConsoleWriter.WriteLine

源码 · 目标:net8.0、net9.0、net10.0

csharp
public void WriteLine()

写入换行

Fast.Runtime.ConsoleWriter.WriteLine

源码 · 目标:net8.0、net9.0、net10.0

csharp
public void WriteLine(string value)

写入文本并追加换行

  • 参数 value:要写入的文本,为 null 时仅输出换行

Fast.Runtime.ConsoleWriter.WriteLine

源码 · 目标:net8.0、net9.0、net10.0

csharp
public void WriteLine(object value)

写入对象的文本并追加换行

  • 参数 value:要写入的对象,为 null 时仅输出换行

Fast.Runtime.ConsoleWriter.ResetColor

源码 · 目标:net8.0、net9.0、net10.0

csharp
public void ResetColor()

恢复进入当前写入回调时的前景色和背景色

System.MAppContext

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class MAppContext

Microsoft App 上下文

System.MAppContext.AssemblyVersion

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static readonly string AssemblyVersion;

入口程序集版本号

System.MAppContext.RuntimeLibraries

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static readonly IEnumerable<DependencyLibrary> RuntimeLibraries;

应用运行库

System.MAppContext.Assemblies

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static readonly IEnumerable<Assembly> Assemblies;

应用有效程序集

System.MAppContext.ProjectAssemblies

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static readonly IEnumerable<Assembly> ProjectAssemblies;

应用本地引用项目有效程序集

System.MAppContext.Types

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static readonly IEnumerable<Type> Types;

有效程序集类型

说明:所有公共的类型

System.MAppContext.EffectiveTypes

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static readonly IEnumerable<Type> EffectiveTypes;

有效程序集类型

说明:排除使用了 SuppressSnifferAttribute 特性的类型

System.MAppContext.ProjectEffectiveTypes

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static readonly IEnumerable<Type> ProjectEffectiveTypes;

本地引用项目有效程序集类型

说明:排除使用了 SuppressSnifferAttribute 特性的类型

System.MAppContext.UnmanagedObjects

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static ConcurrentBag<IDisposable> UnmanagedObjects { get; private set; }

未托管的对象集合

System.MAppContext.ConsoleWrite

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void ConsoleWrite(Action<ConsoleWriter> action)

同步写入控制台并自动恢复原始前景色和背景色

  • 参数 action:使用颜色与文本输出上下文的同步回调

说明:同一输出流上的写入回调串行执行,回调结束或抛出异常时均恢复原始颜色 输出重定向时忽略颜色设置并仅写入文本,回调异常继续向调用方传播

  • 异常 ArgumentNullExceptionactionnull

System.MAppContext.CatchOrDefault

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static T CatchOrDefault<T>(Func<T> action, T defaultValue = null) where T : class

处理获取对象异常问题

  • 参数 action:要执行的操作委托
  • 参数 defaultValue:操作无法产生结果时使用的默认值
  • 类型参数 T:操作返回的引用类型
  • 返回:处理获取对象异常问题

System.MAppContext.GetOptionName

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string GetOptionName<TOptions>() where TOptions : class, new()

获取选项名称

  • 类型参数 TOptions:配置选项类型
  • 返回:获取到的选项名称

System.MAppContext.GetServiceProvider

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IServiceProvider GetServiceProvider(Type serviceType, IServiceProvider rootServices,
        IServiceCollection internalServices, HttpContext httpContext)

解析服务提供器

  • 参数 serviceType:要查询的服务类型
  • 参数 rootServices:应用根服务提供器
  • 参数 internalServices:框架内部使用的服务注册集合
  • 参数 httpContext:当前请求上下文
  • 返回:解析后的服务提供器

System.MAppContext.GetCurrentStartupUri

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Uri GetCurrentStartupUri(IServer server)

获取当前程序启动 Uri 信息

说明:默认获取第一个地址,可能为空,请勿在程序启动过程中使用

  • 参数 server:目标服务实例
  • 返回:获取到的当前程序启动 Uri 信息

System.MAppContext.GetThreadId

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static int GetThreadId()

获取当前线程Id

  • 返回:获取到的当前线程Id

System.MAppContext.GetTraceId

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string GetTraceId(IServiceProvider rootServices, HttpContext httpContext)

获取当前请求的 TraceId

  • 参数 rootServices:应用根服务提供器
  • 参数 httpContext:当前请求上下文
  • 返回:获取到的当前请求 TraceId

System.MAppContext.GetExecutionTime

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static long GetExecutionTime(Action action)

获取一段代码执行耗时

  • 参数 action:要执行的操作委托
  • 返回:获取到的一段代码执行耗时

System.MAppContext.AddUnmanagedObjects

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void AddUnmanagedObjects(IDisposable dsp)

添加未托管的对象

  • 参数 dsp:用于解析动态服务的服务提供器
  • 异常 ArgumentNullExceptiondspnull

System.MAppContext.DisposeUnmanagedObjects

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void DisposeUnmanagedObjects()

释放所有未托管的对象

System.Debugging

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class Debugging

向事件管理器中输出事件信息

System.Debugging.WriteLine

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void WriteLine(int level, string message)

输出一行事件信息

  • 参数 level:信息级别 跟踪 信息 警告 错误 文件 提示 搜索 时钟
  • 参数 message:要记录或返回的消息

System.Debugging.WriteLine

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void WriteLine(int level, string message, params object[] args)

输出一行事件信息

  • 参数 level:信息级别 跟踪 信息 警告 错误 文件 提示 搜索 时钟
  • 参数 message:要记录或返回的消息
  • 参数 args:格式化消息时使用的参数

System.Debugging.Trace

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Trace(string message)

输出跟踪级别事件信息

  • 参数 message:要记录或返回的消息

System.Debugging.Trace

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Trace(string message, params object[] args)

输出跟踪级别事件信息

  • 参数 message:要记录或返回的消息
  • 参数 args:格式化消息时使用的参数

System.Debugging.Info

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Info(string message)

输出信息级别事件信息

  • 参数 message:要记录或返回的消息

System.Debugging.Info

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Info(string message, params object[] args)

输出信息级别事件信息

  • 参数 message:要记录或返回的消息
  • 参数 args:格式化消息时使用的参数

System.Debugging.Warn

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Warn(string message)

输出警告级别事件信息

  • 参数 message:要记录或返回的消息

System.Debugging.Warn

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Warn(string message, params object[] args)

输出警告级别事件信息

  • 参数 message:要记录或返回的消息
  • 参数 args:格式化消息时使用的参数

System.Debugging.Error

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Error(string message)

输出错误级别事件信息

  • 参数 message:要记录或返回的消息

System.Debugging.Error

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Error(string message, params object[] args)

输出错误级别事件信息

  • 参数 message:要记录或返回的消息
  • 参数 args:格式化消息时使用的参数

System.Debugging.File

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void File(string message)

输出文件级别事件信息

  • 参数 message:要记录或返回的消息

System.Debugging.File

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void File(string message, params object[] args)

输出文件级别事件信息

  • 参数 message:要记录或返回的消息
  • 参数 args:格式化消息时使用的参数

System.Debugging.Tip

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Tip(string message)

输出提示级别事件信息

  • 参数 message:要记录或返回的消息

System.Debugging.Tip

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Tip(string message, params object[] args)

输出提示级别事件信息

  • 参数 message:要记录或返回的消息
  • 参数 args:格式化消息时使用的参数

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Search(string message)

输出搜索级别事件信息

  • 参数 message:要记录或返回的消息

System.Debugging.Search

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Search(string message, params object[] args)

输出搜索级别事件信息

  • 参数 message:要记录或返回的消息
  • 参数 args:格式化消息时使用的参数

System.Debugging.Clock

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Clock(string message)

输出时钟级别事件信息

  • 参数 message:要记录或返回的消息

System.Debugging.Clock

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void Clock(string message, params object[] args)

输出时钟级别事件信息

  • 参数 message:要记录或返回的消息
  • 参数 args:格式化消息时使用的参数

System.Debugging.GetLevelEmoji

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string GetLevelEmoji(int level)

获取信息级别对应的 emoji

  • 参数 level:日志级别
  • 返回:获取到的信息级别对应的 emoji

System.AppEnvironmentEnum

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Flags]
[FastEnum("App运行环境枚举")]
public enum AppEnvironmentEnum : long

App 运行环境枚举

System.AppEnvironmentEnum.Web

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Web")]
    Web = 1

Web

System.AppEnvironmentEnum.Windows

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Windows")]
    Windows = 2

Windows

System.AppEnvironmentEnum.Mac

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Mac")]
    Mac = 4

Mac

System.AppEnvironmentEnum.Linux

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Linux")]
    Linux = 8

Linux

System.AppEnvironmentEnum.Android

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Android")]
    Android = 32

Android

System.AppEnvironmentEnum.IOS

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("IOS")]
    IOS = 64

IOS

System.AppEnvironmentEnum.QuickApp

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("快应用")]
    QuickApp = 128

快应用

System.AppEnvironmentEnum.WeChatMiniProgram

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("微信小程序")]
    WeChatMiniProgram = 256

微信小程序

System.AppEnvironmentEnum.WeChatOfficialAccount

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("微信公众号")]
    WeChatOfficialAccount = 512

微信公众号

System.AppEnvironmentEnum.WeChatServiceAccount

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("微信服务号")]
    WeChatServiceAccount = 1024

微信服务号

System.AppEnvironmentEnum.WeChatOpenPlatform

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("微信开放平台")]
    WeChatOpenPlatform = 2048

微信开放平台

System.AppEnvironmentEnum.WorkWeChat

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("企业微信")]
    WorkWeChat = 4096

企业微信

System.AppEnvironmentEnum.AlipayMiniProgram

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("支付宝小程序")]
    AlipayMiniProgram = 8192

支付宝小程序

System.AppEnvironmentEnum.TiktokMiniProgram

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("抖音小程序")]
    TiktokMiniProgram = 16384

抖音小程序

System.AppEnvironmentEnum.DingTalkMiniProgram

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("钉钉小程序")]
    DingTalkMiniProgram = 32768

钉钉小程序

System.AppEnvironmentEnum.FeiShuMiniProgram

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("飞书小程序")]
    FeiShuMiniProgram = 65536

飞书小程序

System.AppEnvironmentEnum.QQMiniProgram

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("QQ小程序")]
    QQMiniProgram = 131072

QQ 小程序

System.AppEnvironmentEnum.BaiduMiniProgram

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("百度小程序")]
    BaiduMiniProgram = 262144

百度小程序

System.AppEnvironmentEnum.KuaiShouMiniProgram

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("快手小程序")]
    KuaiShouMiniProgram = 524288

快手小程序

System.AppEnvironmentEnum.XiaoHongShuMiniProgram

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("小红书小程序")]
    XiaoHongShuMiniProgram = 1048576

小红书小程序

System.AppEnvironmentEnum.JDMiniProgram

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("京东小程序")]
    JDMiniProgram = 2097152

京东小程序

System.AppEnvironmentEnum.Api

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Api")]
    Api = 2147483648

API

System.AppEnvironmentEnum.Other

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("其他")]
    Other = 4294967296

其他

System.AppEnvironmentEnum.Desktop

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("桌面端")]
    Desktop = Windows | Mac | Linux

桌面端

System.AppEnvironmentEnum.Mobile

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("移动端")]
    Mobile = Android | IOS

移动端

System.AppEnvironmentEnum.MobileThree

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("移动端(三端)")]
    MobileThree = Android | IOS | MiniProgram

移动端(三端)

System.AppEnvironmentEnum.MiniProgram

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("小程序")]
    MiniProgram = QuickApp
                  | WeChatMiniProgram
                  | AlipayMiniProgram
                  | TiktokMiniProgram
                  | DingTalkMiniProgram
                  | FeiShuMiniProgram
                  | QQMiniProgram
                  | BaiduMiniProgram
                  | KuaiShouMiniProgram
                  | XiaoHongShuMiniProgram
                  | JDMiniProgram

小程序

System.EnvironmentTypeEnum

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Flags]
[FastEnum("环境类型枚举")]
public enum EnvironmentTypeEnum : byte

环境类型枚举

System.EnvironmentTypeEnum.Production

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("生产环境")]
    Production = 1

Production 生产环境

说明:生产,正式环境

System.EnvironmentTypeEnum.Development

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("开发环境")]
    Development = 2

Development 开发环境

说明:本地,开发环境

System.EnvironmentTypeEnum.Test

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("测试环境")]
    Test = 4

Test 测试环境

说明:测试环境,功能测试,验证新功能或修复问题

System.EnvironmentTypeEnum.UAT

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("测试验收环境")]
    UAT = 8

UAT 测试验收环境

说明:测试验收环境,用于测试是否符合需求和预期

System.EnvironmentTypeEnum.PreProduction

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("预生产环境")]
    PreProduction = 16

PreProduction 预生产环境

说明:预生产环境,用于最后的测试和验证

System.EnvironmentTypeEnum.GrayDeployment

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("灰度环境")]
    GrayDeployment = 32

GrayDeployment 灰度环境

说明:灰度环境,用于部署新版本到生产环境之前进行有限范围的测试和验收的环境

System.EnvironmentTypeEnum.StressTest

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("压测环境")]
    StressTest = 64

StressTest 压测环境

说明:压测环境,用于压力测试的环境

System.HttpRequestActionEnum

源码 · 目标:net8.0、net9.0、net10.0

csharp
[FastEnum("Http请求行为枚举")]
public enum HttpRequestActionEnum

HTTP 请求行为枚举

System.HttpRequestActionEnum.None

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("未知")]
    None = 0

未知

System.HttpRequestActionEnum.Auth

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("鉴权")]
    Auth = 1

鉴权

System.HttpRequestActionEnum.Paged

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("分页")]
    Paged = 11

分页

System.HttpRequestActionEnum.Query

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("查询")]
    Query = 12

查询

System.HttpRequestActionEnum.Add

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("添加")]
    Add = 21

添加

System.HttpRequestActionEnum.Edit

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("编辑")]
    Edit = 31

编辑

System.HttpRequestActionEnum.Delete

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("删除")]
    Delete = 41

删除

System.HttpRequestActionEnum.Submit

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("提交")]
    Submit = 51

提交

System.HttpRequestActionEnum.Upload

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("上传")]
    Upload = 61

上传

System.HttpRequestActionEnum.Download

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("下载")]
    Download = 62

下载

System.HttpRequestActionEnum.Import

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("导入")]
    Import = 71

导入

System.HttpRequestActionEnum.Export

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("导出")]
    Export = 72

导出

System.HttpRequestActionEnum.Notify

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("通知")]
    Notify = 253

通知

System.HttpRequestActionEnum.Callback

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("回调")]
    Callback = 254

回调

System.HttpRequestActionEnum.Other

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("其他")]
    Other = 255

其他

System.HttpRequestMethodEnum

源码 · 目标:net8.0、net9.0、net10.0

csharp
[FastEnum("Http请求方式枚举")]
public enum HttpRequestMethodEnum

HTTP 请求方式枚举

System.HttpRequestMethodEnum.Unknown

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("未知请求")]
    Unknown = 0

未知请求

说明:当前不在 HTTP 请求上下文中,或请求方式无法识别

System.HttpRequestMethodEnum.Get

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Get请求")]
    Get = 1

Get 请求

说明:用于从服务器获取资源。GET 请求将参数附加在 URL 后面,通过查询字符串传递给服务器。GET 请求是幂等的,即多次相同的 GET 请求应该返回相同的结果

System.HttpRequestMethodEnum.Post

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Post请求")]
    Post = 2

Post 请求

说明:用于向服务器提交数据并处理。POST 请求将参数包含在请求体中发送给服务器。POST 请求不是幂等的,即多次相同的 POST 请求可能会导致不同的结果

System.HttpRequestMethodEnum.Put

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Put请求")]
    Put = 4

Put 请求

说明:用于向服务器更新指定资源。PUT 请求将请求体中的数据保存到指定的 URL 上

System.HttpRequestMethodEnum.Delete

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Delete请求")]
    Delete = 8

Delete 请求

说明:用于从服务器删除指定资源。DELETE 请求通过指定的 URL 删除服务器上的资源

System.HttpRequestMethodEnum.Patch

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Patch请求")]
    Patch = 16

Patch 请求

说明:用于对服务器上的资源进行部分更新。PATCH 请求将请求体中的数据应用到指定的 URL 上,只更新部分字段

System.HttpRequestMethodEnum.Head

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Head请求")]
    Head = 32

Head 请求

说明:与 GET 请求类似,只是服务器返回的响应中不包含实体内容,主要用于获取资源的元数据(例如,响应头信息)

System.HttpRequestMethodEnum.Options

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Options请求")]
    Options = 64

Options 请求

说明:用于获取指定资源所支持的通信选项,也就是说,当客户端想知道服务器支持的请求方式、响应头等信息时,可以发送 OPTIONS 请求

System.HttpRequestMethodEnum.Connect

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Connect请求")]
    Connect = 128

Connect 请求

说明:用于建立与目标资源的网络链接,通常用于 HTTPS 中的隧道 ing,将流量转发给真正的 HTTPS 服务器

System.HttpRequestMethodEnum.Trace

源码 · 目标:net8.0、net9.0、net10.0

csharp
[Description("Trace请求")]
    Trace = 256

Trace 请求

说明:用于追踪请求-响应的传输路径,主要用于故障诊断

Fast.Runtime.HttpContextExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class HttpContextExtension

HttpContext 提供扩展方法

Fast.Runtime.HttpContextExtension.UnifyResponseTimestamp

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void UnifyResponseTimestamp(this HttpContext httpContext, long timestamp)

设置规范化响应时间戳

  • 参数 httpContext:当前请求上下文
  • 参数 timestamp:时间戳

Fast.Runtime.HttpContextExtension.UnifyResponseTimestamp

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static long UnifyResponseTimestamp(this HttpContext httpContext)

获取规范化响应时间戳

  • 参数 httpContext:当前请求上下文
  • 返回:获取到的规范化响应时间戳

Fast.Runtime.HttpContextExtension.GetMetadata

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static TAttribute GetMetadata<TAttribute>(this HttpContext httpContext) where TAttribute : class

获取终结点元数据中的指定特性

  • 参数 httpContext:当前请求上下文
  • 类型参数 TAttribute:要查找的特性类型
  • 返回:匹配的特性实例;未找到时返回 null

Fast.Runtime.HttpContextExtension.GetMetadata

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static object GetMetadata(this EndpointMetadataCollection metadata, Type attributeType)

获取终结点元数据中的指定特性

  • 参数 metadata:当前元数据
  • 参数 attributeType:要读取的特性类型
  • 返回:匹配的特性实例;未找到时返回 null

Fast.Runtime.HttpContextExtension.GetMetadata

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static object GetMetadata(this HttpContext httpContext, Type attributeType)

获取终结点元数据中的指定特性

  • 参数 httpContext:当前请求上下文
  • 参数 attributeType:要读取的特性类型
  • 返回:匹配的特性实例;未找到时返回 null

Fast.Runtime.HttpContextExtension.SignInToSwagger

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void SignInToSwagger(this HttpContext httpContext, string accessToken)

设置规范化文档自动登录

  • 参数 httpContext:当前请求上下文
  • 参数 accessToken:访问令牌

Fast.Runtime.HttpContextExtension.SignOutToSwagger

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void SignOutToSwagger(this HttpContext httpContext)

设置规范化文档退出登录

  • 参数 httpContext:当前请求上下文

Fast.Runtime.HttpContextExtension.LocalIpv4

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string LocalIpv4(this HttpContext httpContext)

本机 IPv4 地址

  • 参数 httpContext:当前请求上下文
  • 返回:本机 IPv4 地址;当前请求上下文为空时返回空字符串

Fast.Runtime.HttpContextExtension.LocalIpv6

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string LocalIpv6(this HttpContext httpContext)

本机 IPv6 地址

  • 参数 httpContext:当前请求上下文
  • 返回:本机 IPv6 地址;当前请求上下文为空时返回空字符串

Fast.Runtime.HttpContextExtension.RemoteIpv4

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string RemoteIpv4(this HttpContext httpContext)

获取经过可信代理处理后的远程 IPv4 地址

  • 参数 httpContext:当前请求上下文
  • 返回:远程 IPv4 地址;当前请求上下文为空或远程地址不是 IPv4 时返回空字符串

Fast.Runtime.HttpContextExtension.RemoteIpv6

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string RemoteIpv6(this HttpContext httpContext)

获取经过可信代理处理后的远程 IPv6 地址

  • 参数 httpContext:当前请求上下文
  • 返回:远程 IPv6 地址;当前请求上下文为空或远程地址不是 IPv6 时返回空字符串

Fast.Runtime.HttpContextExtension.RequestUserAgent

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string RequestUserAgent(this HttpContext httpContext, string userAgentHeaderKey = "User-Agent")

请求用户代理字符串(User-Agent)

  • 参数 httpContext:当前请求上下文
  • 参数 userAgentHeaderKey:包含用户代理信息的请求头名称
  • 返回:请求用户代理字符串(User-Agent)

Fast.Runtime.HttpContextExtension.RequestUserAgentInfo

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static UserAgentInfo RequestUserAgentInfo(this HttpContext httpContext)

请求用户代理信息(User-Agent)

说明:注:如果需要正常解析,需要引用 "UAParser" 程序集,否则会返回 null

  • 参数 httpContext:当前请求上下文
  • 返回:请求用户代理信息(User-Agent);当前请求上下文为空时返回 null

Fast.Runtime.HttpContextExtension.RemoteIpv4Info

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static WanNetIPInfo RemoteIpv4Info(this HttpContext httpContext, string ip = null)

远程 IPv4 地址信息

说明:自带内存缓存,缓存过期时间为 24 小时(注:需要注入内存缓存,如不注入,则默认不走缓存)

  • 参数 httpContext:当前请求上下文
  • 参数 ip:要的 IP 地址信息,默认为 null,如果为 null,默认获取当前远程的 IPv4 地址
  • 返回:远程 IPv4 地址信息;当前请求上下文为空时返回 null

Fast.Runtime.HttpContextExtension.RemoteIpv4InfoAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static async Task<WanNetIPInfo> RemoteIpv4InfoAsync(this HttpContext httpContext, string ip = null)

远程 IPv4 地址信息

说明:自带内存缓存,缓存过期时间为 24 小时(注:需要注入内存缓存,如不注入,则默认不走缓存)

  • 参数 httpContext:当前请求上下文
  • 参数 ip:要的 IP 地址信息,默认为 null,如果为 null,默认获取当前远程的 IPv4 地址
  • 返回:表示异步远程 IPv4 地址信息的任务;当前请求上下文为空时,任务结果为 null

Fast.Runtime.HttpContextExtension.GetControllerActionDescriptor

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static ControllerActionDescriptor GetControllerActionDescriptor(this HttpContext httpContext)

获取 控制器/Action 描述器

  • 参数 httpContext:当前请求上下文
  • 返回:获取到的 控制器/Action 描述器;当前请求上下文为空时返回 null

Fast.Runtime.HttpContextExtension.ReadBodyContentAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static async Task<string> ReadBodyContentAsync(this HttpContext httpContext)

读取 Body 内容

说明:需先在 Startup 的 Configure 中注册 app.EnableBuffering()

  • 参数 httpContext:当前请求上下文
  • 返回:表示异步读取 Body 内容的任务,任务结果为读取到的 Body 内容

Fast.Runtime.HttpContextExtension.ReadBodyContentAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static async Task<string> ReadBodyContentAsync(this HttpRequest httpRequest)

读取 Body 内容

说明:需先在 Startup 的 Configure 中注册 app.EnableBuffering()

  • 参数 httpRequest:当前 HTTP 请求
  • 返回:表示异步读取 Body 内容的任务,任务结果为读取到的 Body 内容

Fast.Runtime.HttpContextExtension.RequestUrlAddress

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string RequestUrlAddress(this HttpContext httpContext)

完整请求地址

  • 参数 httpContext:当前请求上下文
  • 返回:完整请求地址

Fast.Runtime.HttpContextExtension.RequestUrlAddress

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string RequestUrlAddress(this HttpRequest httpRequest)

完整请求地址

  • 参数 httpRequest:当前 HTTP 请求
  • 返回:完整请求地址

Fast.Runtime.HttpContextExtension.RefererUrlAddress

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string RefererUrlAddress(this HttpContext httpContext, string refererHeaderKey = "Referer")

来源地址

  • 参数 httpContext:当前请求上下文
  • 参数 refererHeaderKey:包含来源地址的请求头名称
  • 返回:来源地址

Fast.Runtime.HttpContextExtension.SetResponseStatusCodes

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static void SetResponseStatusCodes(this HttpContext httpContext, int statusCode, int[] return200StatusCodes = null,
        int[][] adaptStatusCodes = null)

设置响应状态码

说明:示例 return200StatusCodes = [401, 403] adaptStatusCodes = [[401, 200], [403, 200]]

  • 参数 httpContext:当前请求上下文
  • 参数 statusCode:HTTP 状态码
  • 参数 return200StatusCodes:设置返回 200 状态码列表。只支持 400+(404 除外) 状态码
  • 参数 adaptStatusCodes:适配(篡改)状态码。只支持 400+(404 除外) 状态码

System.UserFriendlyException

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public class UserFriendlyException : Exception

用户友好异常

System.UserFriendlyException.UserFriendlyException

源码 · 目标:net8.0、net9.0、net10.0

csharp
public UserFriendlyException() : base("Bad Request")

初始化类的新实例

System.UserFriendlyException.UserFriendlyException

源码 · 目标:net8.0、net9.0、net10.0

csharp
public UserFriendlyException(string message) : base(message ?? "Bad Request")

初始化类的新实例

  • 参数 message:要记录或返回的消息

System.UserFriendlyException.UserFriendlyException

源码 · 目标:net8.0、net9.0、net10.0

csharp
public UserFriendlyException(string message, object errorCode) : base(message ?? "Bad Request")

初始化类的新实例

  • 参数 message:要记录或返回的消息
  • 参数 errorCode:用于标识错误类型的错误码

System.UserFriendlyException.UserFriendlyException

源码 · 目标:net8.0、net9.0、net10.0

csharp
public UserFriendlyException(string message, Exception innerException) : base(message ?? "Bad Request", innerException)

初始化类的新实例

  • 参数 message:要记录或返回的消息
  • 参数 innerException:导致当前异常的内部异常

System.UserFriendlyException.UserFriendlyException

源码 · 目标:net8.0、net9.0、net10.0

csharp
public UserFriendlyException(string message, object errorCode, Exception innerException) : base(message ?? "Bad Request",
        innerException)

初始化类的新实例

  • 参数 message:要记录或返回的消息
  • 参数 errorCode:用于标识错误类型的错误码
  • 参数 innerException:导致当前异常的内部异常

System.UserFriendlyException.ErrorCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public object ErrorCode { get; set; }

错误码

System.UserFriendlyException.OriginErrorCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public object OriginErrorCode { get; set; }

原始错误码(未被覆盖的 ErrorCode

System.UserFriendlyException.ErrorMessage

源码 · 目标:net8.0、net9.0、net10.0

csharp
public object ErrorMessage { get; set; }

错误消息(支持 Object 对象)

System.UserFriendlyException.StatusCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public int StatusCode { get; set; } = StatusCodes.Status400BadRequest;

状态码

System.UserFriendlyException.ValidationException

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool ValidationException { get; set; } = false;

是否是数据验证异常

System.UserFriendlyException.Data

源码 · 目标:net8.0、net9.0、net10.0

csharp
public new object Data { get; set; }

额外数据

Fast.Runtime.AssemblyExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static class AssemblyExtension

Assembly 提供扩展方法

Fast.Runtime.AssemblyExtension.GetEntryRuntimeLibraries

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static List<DependencyLibrary> GetEntryRuntimeLibraries(this Assembly assembly)

获取入口运行库

说明:暂不支持独立/单文件发布

  • 参数 assembly:目标程序集
  • 返回:获取到的入口运行库集合

Fast.Runtime.AssemblyExtension.GetEntryReferencedAssembly

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static List<Assembly> GetEntryReferencedAssembly(this Assembly assembly,
        List<DependencyLibrary> dependencyLibraryList = null)

获取入口引用程序集

说明:暂不支持独立/单文件发布

  • 参数 assembly:目标程序集
  • 参数 dependencyLibraryList:应用依赖库集合
  • 返回:获取到的入口引用程序集集合

Fast.Runtime.AssemblyExtension.GetAssemblyTypes

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IEnumerable<Type> GetAssemblyTypes(this Assembly assembly, Func<Type, bool> typeFilter = null)

获取程序集中所有类型

说明:默认仅返回公开声明的类型;可通过筛选器进一步限制结果

  • 参数 assembly:目标程序集
  • 参数 typeFilter:用于筛选程序集类型的委托
  • 返回:获取到的程序集中所有类型集合

Fast.Runtime.IConfigurationExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class IConfigurationExtension

IConfiguration 提供扩展方法

Fast.Runtime.IConfigurationExtension.LoadPostConfigure

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static T LoadPostConfigure<T>(this T type) where T : IPostConfigure

加载后期配置

  • 参数 type:目标类型
  • 类型参数 T:要执行后期配置的选项类型
  • 返回:加载后的后期配置

Fast.Runtime.IMvcBuilderExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class IMvcBuilderExtension

IMvcBuilder 提供扩展方法

Fast.Runtime.IMvcBuilderExtension.AddMvcFilter

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IMvcBuilder AddMvcFilter<TFilter>(this IMvcBuilder builder, Action<MvcOptions> configure = null)
        where TFilter : IFilterMetadata

注册 Mvc 过滤器

  • 参数 builder:要配置的应用构建器
  • 参数 configure:额外的 MVC 配置操作
  • 类型参数 TFilter:要注册的 MVC 过滤器类型
  • 返回:返回当前 MVC 构建器,便于链式调用

Fast.Runtime.IServiceCollectionExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class IServiceCollectionExtension

IServiceCollection 提供扩展方法

Fast.Runtime.IServiceCollectionExtension.AddConfigurableOptions

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IServiceCollection AddConfigurableOptions<TOptions>(this IServiceCollection services, string path = null)
        where TOptions : class, new()

添加选项配置

  • 参数 services:要添加服务的服务集合
  • 参数 path:配置中对应的 Key
  • 类型参数 TOptions:配置选项类型
  • 返回:返回当前服务注册集合,便于链式调用

Fast.Runtime.IServiceCollectionExtension.AddMvcFilter

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IServiceCollection AddMvcFilter<TFilter>(this IServiceCollection services, Action<MvcOptions> configure = null)
        where TFilter : IFilterMetadata

注册 Mvc 过滤器

  • 参数 services:要添加服务的服务集合
  • 参数 configure:额外的 MVC 配置操作
  • 类型参数 TFilter:要注册的 MVC 过滤器类型
  • 返回:返回 services,便于链式调用

Fast.Runtime.IServiceCollectionExtension.AddMvcFilter

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IServiceCollection AddMvcFilter(this IServiceCollection services, IFilterMetadata filter,
        Action<MvcOptions> configure = null)

注册 Mvc 过滤器

  • 参数 services:要添加服务的服务集合
  • 参数 filter:要注册的 MVC 过滤器实例
  • 参数 configure:额外的 MVC 配置操作
  • 返回:返回 services,便于链式调用

Fast.Runtime.TypeExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static class TypeExtension

Type 提供扩展方法

Fast.Runtime.TypeExtension.CreatePropertySetter

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Action<object, object> CreatePropertySetter(this Type type, PropertyInfo propertyInfo)

创建属性值设置器

  • 参数 type:目标类型
  • 参数 propertyInfo:目标属性的反射元数据
  • 返回:创建的属性值设置器

Fast.Runtime.TypeExtension.CreateFieldSetter

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Action<object, object> CreateFieldSetter(this Type type, FieldInfo fieldInfo)

创建字段值设置器

  • 参数 type:目标类型
  • 参数 fieldInfo:目标字段的反射元数据
  • 返回:创建的字段值设置器

Fast.Runtime.TypeExtension.CreatePropertyGetter

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Func<object, object> CreatePropertyGetter(this Type type, PropertyInfo propertyInfo)

创建属性值访问器

  • 参数 type:目标类型
  • 参数 propertyInfo:目标属性的反射元数据
  • 返回:创建的属性值访问器

Fast.Runtime.TypeExtension.CreateFieldGetter

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Func<object, object> CreateFieldGetter(this Type type, FieldInfo fieldInfo)

创建字段值访问器

  • 参数 type:目标类型
  • 参数 fieldInfo:目标字段的反射元数据
  • 返回:创建的字段值访问器

Fast.Runtime.UserFriendlyExceptionExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class UserFriendlyExceptionExtension

UserFriendlyException 提供扩展方法

Fast.Runtime.UserFriendlyExceptionExtension.StatusCode

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static UserFriendlyException StatusCode(this UserFriendlyException exception,
        int statusCode = StatusCodes.Status400BadRequest)

设置异常状态码

  • 参数 exception:要处理的异常
  • 参数 statusCode:HTTP 状态码
  • 返回:设置异常状态码

Fast.Runtime.UserFriendlyExceptionExtension.WithData

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static UserFriendlyException WithData(this UserFriendlyException exception, object data)

设置额外数据

  • 参数 exception:要处理的异常
  • 参数 data:要处理或传输的数据
  • 返回:设置额外数据

Fast.Runtime.IPostConfigure

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public interface IPostConfigure

后期配置接口

说明:用于补充无法在构造函数或选项绑定阶段完成的默认配置

Fast.Runtime.IPostConfigure.PostConfigure

源码 · 目标:net8.0、net9.0、net10.0

csharp
void PostConfigure();

在选项绑定完成后执行补充配置

Fast.Runtime.DependencyLibrary

源码 · 目标:net8.0、net9.0、net10.0

csharp
public class DependencyLibrary

.deps.json 文件中 libraries 节点的 Model

Fast.Runtime.DependencyLibrary.Type

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Type { get; }

类型

说明:"package"是引用的包,"project"是本地引用的项目

Fast.Runtime.DependencyLibrary.Name

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Name { get; }

程序集名称

Fast.Runtime.DependencyLibrary.FileName

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string FileName { get; }

程序集 dll 文件名称(不带后缀)

说明:从 "runtime" 节点获取,如果为空,则默认为 Name注意:部分时候可能和 Name 不一致

Fast.Runtime.DependencyLibrary.Version

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Version { get; }

程序集版本

Fast.Runtime.DependencyLibrary.Serviceable

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool Serviceable { get; }

是否可服务

System.Linq.LinqExpression

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class LinqExpression

提供 Linq Expression 相关扩展方法

System.Linq.LinqExpression.Create

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, bool>> Create<TSource>(Expression<Func<TSource, bool>> expression)

创建 Linq/Lambda 表达式

  • 参数 expression:要组合或执行的表达式
  • 类型参数 TSource:源对象类型
  • 返回:创建的 Linq/Lambda 表达式

System.Linq.LinqExpression.Create

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, int, bool>> Create<TSource>(Expression<Func<TSource, int, bool>> expression)

创建 Linq/Lambda 表达式,支持索引器

  • 参数 expression:要组合或执行的表达式
  • 类型参数 TSource:源对象类型
  • 返回:创建的 Linq/Lambda 表达式,支持索引器

System.Linq.LinqExpression.And

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, bool>> And<TSource>()

创建 And 表达式

  • 类型参数 TSource:源对象类型
  • 返回:创建的 And 表达式

System.Linq.LinqExpression.IndexAnd

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, int, bool>> IndexAnd<TSource>()

创建 And 表达式,支持索引器

  • 类型参数 TSource:源对象类型
  • 返回:创建的 And 表达式,支持索引器

System.Linq.LinqExpression.Or

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, bool>> Or<TSource>()

创建 Or 表达式

  • 类型参数 TSource:源对象类型
  • 返回:创建的 Or 表达式

System.Linq.LinqExpression.IndexOr

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, int, bool>> IndexOr<TSource>()

创建 Or 表达式,支持索引器

  • 类型参数 TSource:源对象类型
  • 返回:创建的 Or 表达式,支持索引器

System.Linq.ExpressionExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class ExpressionExtension

提供表达式扩展方法

System.Linq.ExpressionExtension.Compose

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<TSource> Compose<TSource>(this Expression<TSource> expression, Expression<TSource> extendExpression,
        Func<Expression, Expression, Expression> mergeWay)

组合两个表达式

  • 参数 expression:要组合或执行的表达式
  • 参数 extendExpression:用于组合两个表达式的表达式
  • 参数 mergeWay:两个表达式的组合方式
  • 类型参数 TSource:源对象类型
  • 返回:组合两个表达式

System.Linq.ExpressionExtension.And

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, bool>> And<TSource>(this Expression<Func<TSource, bool>> expression,
        Expression<Func<TSource, bool>> extendExpression)

与操作合并两个表达式

  • 参数 expression:要组合或执行的表达式
  • 参数 extendExpression:用于与操作合并两个表达式的表达式
  • 类型参数 TSource:源对象类型
  • 返回:与操作合并两个表达式

System.Linq.ExpressionExtension.And

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, int, bool>> And<TSource>(this Expression<Func<TSource, int, bool>> expression,
        Expression<Func<TSource, int, bool>> extendExpression)

与操作合并两个表达式,支持索引器

  • 参数 expression:要组合或执行的表达式
  • 参数 extendExpression:用于与操作合并两个表达式,支持索引器的表达式
  • 类型参数 TSource:源对象类型
  • 返回:与操作合并两个表达式,支持索引器

System.Linq.ExpressionExtension.AndIf

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, bool>> AndIf<TSource>(this Expression<Func<TSource, bool>> expression, bool condition,
        Expression<Func<TSource, bool>> extendExpression)

根据条件成立再与操作合并两个表达式

  • 参数 expression:要组合或执行的表达式
  • 参数 condition:决定是否应用当前操作的条件
  • 参数 extendExpression:用于根据条件成立再与操作合并两个表达式的表达式
  • 类型参数 TSource:源对象类型
  • 返回:根据条件成立再与操作合并两个表达式

System.Linq.ExpressionExtension.AndIf

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, int, bool>> AndIf<TSource>(this Expression<Func<TSource, int, bool>> expression,
        bool condition, Expression<Func<TSource, int, bool>> extendExpression)

根据条件成立再与操作合并两个表达式,支持索引器

  • 参数 expression:要组合或执行的表达式
  • 参数 condition:决定是否应用当前操作的条件
  • 参数 extendExpression:用于根据条件成立再与操作合并两个表达式,支持索引器的表达式
  • 类型参数 TSource:源对象类型
  • 返回:根据条件成立再与操作合并两个表达式,支持索引器

System.Linq.ExpressionExtension.Or

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, bool>> Or<TSource>(this Expression<Func<TSource, bool>> expression,
        Expression<Func<TSource, bool>> extendExpression)

或操作合并两个表达式

  • 参数 expression:要组合或执行的表达式
  • 参数 extendExpression:用于或操作合并两个表达式的表达式
  • 类型参数 TSource:源对象类型
  • 返回:或操作合并两个表达式

System.Linq.ExpressionExtension.Or

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, int, bool>> Or<TSource>(this Expression<Func<TSource, int, bool>> expression,
        Expression<Func<TSource, int, bool>> extendExpression)

或操作合并两个表达式,支持索引器

  • 参数 expression:要组合或执行的表达式
  • 参数 extendExpression:用于或操作合并两个表达式,支持索引器的表达式
  • 类型参数 TSource:源对象类型
  • 返回:或操作合并两个表达式,支持索引器

System.Linq.ExpressionExtension.OrIf

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, bool>> OrIf<TSource>(this Expression<Func<TSource, bool>> expression, bool condition,
        Expression<Func<TSource, bool>> extendExpression)

根据条件成立再或操作合并两个表达式

  • 参数 expression:要组合或执行的表达式
  • 参数 condition:决定是否应用当前操作的条件
  • 参数 extendExpression:用于根据条件成立再或操作合并两个表达式的表达式
  • 类型参数 TSource:源对象类型
  • 返回:根据条件成立再或操作合并两个表达式

System.Linq.ExpressionExtension.OrIf

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static Expression<Func<TSource, int, bool>> OrIf<TSource>(this Expression<Func<TSource, int, bool>> expression,
        bool condition, Expression<Func<TSource, int, bool>> extendExpression)

根据条件成立再或操作合并两个表达式,支持索引器

  • 参数 expression:要组合或执行的表达式
  • 参数 condition:决定是否应用当前操作的条件
  • 参数 extendExpression:用于根据条件成立再或操作合并两个表达式,支持索引器的表达式
  • 类型参数 TSource:源对象类型
  • 返回:根据条件成立再或操作合并两个表达式,支持索引器

System.Linq.ExpressionExtension.GetExpressionPropertyName

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string GetExpressionPropertyName<TSource>(this Expression<Func<TSource, object>> expression)

获取 Lambda 表达式属性名,只限 u=>u.Property 表达式

  • 参数 expression:要组合或执行的表达式
  • 类型参数 TSource:源对象类型
  • 返回:获取到的 Lambda 表达式属性名,只限 u=>u.Property 表达式

System.Linq.IEnumerableExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class IEnumerableExtension

IEnumerable 扩展

System.Linq.IEnumerableExtension.OrderBy

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IQueryable<TSource> OrderBy<TSource, TKey>(this IQueryable<TSource> sources, bool condition,
        Expression<Func<TSource, TKey>> keySelector)

根据条件成立再构建 OrderBy 排序

  • 参数 sources:要查询或组合的源序列
  • 参数 condition:决定是否应用当前操作的条件
  • 参数 keySelector:用于生成排序键的委托
  • 类型参数 TSource:源对象类型
  • 类型参数 TKey:泛型类型
  • 返回:根据条件成立再构建 OrderBy 排序

System.Linq.IEnumerableExtension.OrderByDescending

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IQueryable<TSource> OrderByDescending<TSource, TKey>(this IQueryable<TSource> sources, bool condition,
        Expression<Func<TSource, TKey>> keySelector)

根据条件成立再构建 OrderByDescending 排序

  • 参数 sources:要查询或组合的源序列
  • 参数 condition:决定是否应用当前操作的条件
  • 参数 keySelector:用于生成排序键的委托
  • 类型参数 TSource:源对象类型
  • 类型参数 TKey:泛型类型
  • 返回:根据条件成立再构建 OrderByDescending 排序

System.Linq.IEnumerableExtension.Where

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IQueryable<TSource> Where<TSource>(this IQueryable<TSource> sources, bool condition,
        Expression<Func<TSource, bool>> expression)

根据条件成立再构建 Where 查询

  • 参数 sources:要查询或组合的源序列
  • 参数 condition:决定是否应用当前操作的条件
  • 参数 expression:要组合或执行的表达式
  • 类型参数 TSource:源对象类型
  • 返回:根据条件成立再构建 Where 查询

System.Linq.IEnumerableExtension.Where

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IQueryable<TSource> Where<TSource>(this IQueryable<TSource> sources, bool condition,
        Expression<Func<TSource, int, bool>> expression)

根据条件成立再构建 Where 查询,支持索引器

  • 参数 sources:要查询或组合的源序列
  • 参数 condition:决定是否应用当前操作的条件
  • 参数 expression:要组合或执行的表达式
  • 类型参数 TSource:源对象类型
  • 返回:根据条件成立再构建 Where 查询,支持索引器

System.Linq.IEnumerableExtension.Where

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IQueryable<TSource> Where<TSource>(this IQueryable<TSource> sources,
        params Expression<Func<TSource, bool>>[] expressions)

与操作合并多个表达式

  • 参数 sources:要查询或组合的源序列
  • 参数 expressions:要组合的表达式集合
  • 类型参数 TSource:源对象类型
  • 返回:与操作合并多个表达式

System.Linq.IEnumerableExtension.Where

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IQueryable<TSource> Where<TSource>(this IQueryable<TSource> sources,
        params Expression<Func<TSource, int, bool>>[] expressions)

与操作合并多个表达式,支持索引器

  • 参数 sources:要查询或组合的源序列
  • 参数 expressions:要组合的表达式集合
  • 类型参数 TSource:源对象类型
  • 返回:与操作合并多个表达式,支持索引器

System.Linq.IEnumerableExtension.Where

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IQueryable<TSource> Where<TSource>(this IQueryable<TSource> sources,
        params (bool condition, Expression<Func<TSource, bool>> expression)[] conditionExpressions)

根据条件成立再构建 WhereOr 查询

  • 参数 sources:要查询或组合的源序列
  • 参数 conditionExpressions:按条件参与组合的表达式集合
  • 类型参数 TSource:源对象类型
  • 返回:根据条件成立再构建 WhereOr 查询

System.Linq.IEnumerableExtension.Where

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IQueryable<TSource> Where<TSource>(this IQueryable<TSource> sources,
        params (bool condition, Expression<Func<TSource, int, bool>> expression)[] conditionExpressions)

根据条件成立再构建 WhereOr 查询,支持索引器

  • 参数 sources:要查询或组合的源序列
  • 参数 conditionExpressions:按条件参与组合的表达式集合
  • 类型参数 TSource:源对象类型
  • 返回:根据条件成立再构建 WhereOr 查询,支持索引器

System.Linq.IEnumerableExtension.Where

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> sources, bool condition,
        Func<TSource, bool> expression)

根据条件成立再构建 Where 查询

  • 参数 sources:要查询或组合的源序列
  • 参数 condition:决定是否应用当前操作的条件
  • 参数 expression:要组合或执行的表达式
  • 类型参数 TSource:源对象类型
  • 返回:根据条件成立再构建 Where 查询集合

System.Linq.IEnumerableExtension.Where

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> sources, bool condition,
        Func<TSource, int, bool> expression)

根据条件成立再构建 Where 查询,支持索引器

  • 参数 sources:要查询或组合的源序列
  • 参数 condition:决定是否应用当前操作的条件
  • 参数 expression:要组合或执行的表达式
  • 类型参数 TSource:源对象类型
  • 返回:根据条件成立再构建 Where 查询,支持索引器集合