XstarS .NET Extensions => XNetEx
天南十字星 (XstarS) 的自用 .NET 扩展库,程序集名称和命名空间均仿照 .NET 框架。
.NET | 版本 |
---|---|
Core | 6.0, 8.0 |
Framework | 4.6.1, 4.7.2 |
Standard | 2.0, 2.1 |
C# 语言版本 >= 10.0
系统基础相关,目前包含的命名空间:
XNetEx
XNetEx.Collections
XNetEx.Collections.Generic
XNetEx.Collections.ObjectModel
XNetEx.Collections.Specialized
XNetEx.Diagnostics
XNetEx.IO
XNetEx.Linq
XNetEx.Reflection
XNetEx.Reflection.Emit
XNetEx.Runtime.CompilerServices
XNetEx.Security.Cryptography
XNetEx.Text
XNetEx.Operators
类型提供部分常用运算符,建议静态引入后调用。
相关文档:
提供命令行程序的相关服务,包括:
- 简易的命令行参数解析器
XNetEx.CommandLine.ArgumentReader
,以及其他风格的实现- 命令提示符 CMD
XNetEx.CommandLine.Specialized.CmdArgumentReader
- PowerShell
XNetEx.CommandLine.Specialized.PowerShellArgumentReader
- Unix Shell
XNetEx.CommandLine.Specialized.UnixShellArgumentReader
- 命令提示符 CMD
相关文档:
提供控制台相关的扩展方法,包括:
- 控制台方法扩展
XNetEx.ConsoleEx
- 逐个读取按空白符分隔的输入
ReadToken
- 逐个读取按空白符分隔的输入并转换为值
ReadTokenAs
- 以指定的颜色将值写入输出流
WriteInColor
- 以指定的颜色将值写入错误流
WriteErrorInColor
- 逐个读取按空白符分隔的输入
提供结构化对象(数组、集合等)的结构化相等比较的方法。
核心 API 类型:
- 对象的结构化相等比较
XNetEx.Collections.Generic.StructuralEqualityComparer<T>
提供将对象或结构化对象(数组、集合等)表示为文本的方法。
核心 API 类型:
- 将对象表示为文本
XNetEx.Diagnostics.Representer<T>
- 将结构化对象表示为文本
XNetEx.Diagnostics.StructuralRepresenter<T>
提供连续的对象的值的验证和抛出异常的方法。
相关文档:
提供部分组件模型类型的实现,包括:
- 属性更改通知
System.ComponentModel.INotifyPropertyChanged
XNetEx.ComponentModel.ObservableDataObject
- 数据实体验证
System.ComponentModel.INotifyDataErrorInfo
XNetEx.ComponentModel.ObservableValidDataObject
- 命令
System.Windows.Input.ICommand
XNetEx.Windows.Input.DelegateCommand
此外还为枚举类型提供了特定的的视图类型,包括:
- 枚举列表视图
XNetEx.ComponentModel.EnumListView<TEnum>
- 枚举向量视图
XNetEx.ComponentModel.EnumVectorView<TEnum>
- 位域枚举向量视图
XNetEx.ComponentModel.EnumFlagsVectorView<TEnum>
相关文档:
提供以反射发出 System.Reflection.Emit
构造的属性更改通知类型 System.ComponentModel.INotifyPropertyChanged
。
相关文档:
提供与动态类型生成和动态方法相关的扩展方法,并提供应用以上技术实现的快速动态调用的扩展方法。
核心 API 类型:
- IL 指令发出扩展
XNetEx.Reflection.Emit.ILGeneratorExtensions
- 动态类型定义扩展
XNetEx.Reflection.Emit.TypeBuilderExtensions
- 类型成员动态调用委托创建
XNetEx.Reflection.MemberDelegateExtensions
- 类型成员快速动态调用扩展
XNetEx.Reflection.MemberFastInvokeExtensions
提供转发代理类型 System.Reflection.DispatchProxy
基于委托的简易实现。
提供以反射发出 System.Reflection.Emit
构造的动态代理类型。
方法调用包装为通用静态委托 XNetEx.Reflection.MethodDelegate
,保持动态代理灵活性的同时避免了反射调用的低效率问题。
核心 API 类型:
- 直接代理类型
XNetEx.Reflection.DirectProxyTypeProvider
- 包装代理类型
XNetEx.Reflection.WrapProxyTypeProvider
提供框架原生值类型的补充类型,包括:
- 24 位有符号整数
XNetEx.Int24
- 24 位无符号整数
XNetEx.UInt24
- 半精度浮点数
XNetEx.Half
提供框架原生值类型的联合 union
,包括:
- 8 位数据类型联合
XNetEx.Unions.ByteUnion
:Byte
,SByte
,Boolean
- 16 位数据类型联合
XNetEx.Unions.WordUnion
:Int16
,UInt16
,Char
- 32 位数据类型联合
XNetEx.Unions.DWordUnion
:Int32
,UInt32
,Single
- 64 位数据类型联合
XNetEx.Unions.QWordUnion
:Int64
,UInt64
,Double
- 指针或句柄类型联合
XNetEx.Unions.HandleUnion
:IntPtr
,UIntPtr
,Void*
Win32 相关,目前包含的命名空间:
XNetEx.Win32
XNetEx.Win32.Profiles
WPF 相关,目前包含的命名空间:
XNetEx.Windows.Controls
XNetEx.Windows.Data
XAML 命名空间:
<Window xmlns:xnetex="http://dev.x-stars.org/dotnet/extensions"/>