Skip to content

Releases: ldqk/Masuit.Tools

2.6.6.2

27 Aug 14:11
Compare
Choose a tag to compare
  1. 字符串增加以下函数
    var width=str.CharacterCount(); // 获取字符串的字符数
    var width=str.BytesCount(); // 获取字符串的字节数
    bool b=s.NotNullOrEmpty();//判断字符串不为空
  2. 修正BodyOrDefaultModelBinder的bug
  3. dynamic支持索引器操作
  4. 硬件信息非win系统SystemInfo方法友好支持

2.6.6

15 Aug 13:02
43f223b
Compare
Choose a tag to compare

新增改良版雪花id

string token = SnowFlakeNew.NewId;// 改良版雪花id,对时间回拨不敏感

2.6.5

14 Aug 15:21
c81f967
Compare
Choose a tag to compare
  1. 新增反病毒扫描函数
// 要求系统WindowsDefender没有被精简掉
var windowsDefender = new WindowsDefenderScanService();
var result = windowsDefender.ScanFile(@"Y:\1.exe"); // 扫描文件
var result = windowsDefender.ScanDirectory(@"Y:\"); // 扫描文件夹
var result = windowsDefender.ScanStream(stream); // 扫描文件流

// 要求C:\Windows\System32\amsi.dll文件存在
var amsiService = new AmsiScanService();
amsiService.Scan(stream); // 扫描文件流
amsiService.Scan(@"Y:\1.exe"); // 扫描文件
amsiService.Scan(bytes); // 扫描二进制数组

// ASP.NET Core
service.AddWindowsDefender();
service.AddAMSI();
  1. 优化FromBodyOrDefaultModelBinder
  2. 优化生成验证码图片

2.6.4

03 Aug 14:02
Compare
Choose a tag to compare
  1. 优化权重随机筛选器
  2. 优化FromBodyOrDefaultModelBinder
  3. 优化枚举扩展
  4. 拆分枚举值
  5. 优化字典扩展
  6. 匹配固话号码
  7. 修正进制转换的bug
  8. 修正根据成员信息获取Description信息的bug

2.6.2.8

09 Jul 14:07
Compare
Choose a tag to compare
  1. 优化生成验证码
  2. 对象属性合并函数
  3. 修正模板引擎的bug
  4. 修正反射设置属性值的bug
  5. 修正PooledMemoryStream的bug
  6. 新增根据某个时间段查找在某批时间段中的最大并集
  7. 优化枚举获取Attribute
  8. 优化枚举获取Description

2.6.2

24 May 15:51
Compare
Choose a tag to compare
  1. EF Core实体变更增加泛型参数
  2. 移除FTP Client
  3. MimeMapper类型调整了命名空间

2.6.1

06 May 14:22
Compare
Choose a tag to compare

让动态类型支持属性访问器和索引器调用

        var obj = DynamicFactory.NewObject();
        obj.Name = "Masuit";
        obj.Age = 18;
        obj.MyClass = DynamicFactory.WithObject(new
        {
            X = 10,
            Y = 20,
            Z = new List<int> { 1, 2, 3, 4, 5 }
        });
        Assert.Equal(obj.Name, obj["Name"]);
        Assert.Equal(obj["MyClass"]["X"], obj.MyClass.X);
        Assert.Equal(obj.MyClass.Z[2], obj["MyClass"]["Z"][2]);

普通类型转换成动态类型

        var obj = new
        {
            Name = "Masuit"
        }.ToDynamic();
        obj.Age = 18;
        obj.MyClass = new
        {
            X = 10,
            Y = 20,
            Z = new List<int> { 1, 2, 3, 4, 5 }
        }.ToDynamic();
        obj.Prop = "test";
        _ = obj - "Prop"; // 删除属性

        Assert.Equal(obj.Name, obj["Name"]);
        Assert.Equal(obj["MyClass"]["X"], obj.MyClass.X);

2.6.0.1

18 Apr 16:09
Compare
Choose a tag to compare
  1. 修正RSA签名的bug
  2. 邮箱手机号校验支持可空

2.5.9.7

13 Apr 02:35
Compare
Choose a tag to compare

efcor增加nolock查询扩展

2.5.9.6

11 Apr 07:28
Compare
Choose a tag to compare

扩展枚举描述函数