04 2023 档案
摘要:用于执行高性能的I/O,且代码不复杂 依赖库:System.IO.Pipelines 创建 var pipe = new Pipe(); PipeReader reader = pipe.Reader; PipeWriter writer = pipe.Writer; 基本用法 // 对于socke
阅读全文
摘要:NDelegate Action/Func 委托 NClass的委托 // NClass使用委托调用方法 var nClass = NClass.DefaultDomain(); nClass .Public() .Namespace("Test") .PublicField<string>("Na
阅读全文
摘要:FakeMethodOperator 将以后的方法进行快速克隆,克隆时只会覆盖重新声明的信息,例如原来是public类型,不做定义的话,就直接拿过来使用。 好处:写好的模板不需要大变,变动的地方又代码进行修改 注意:使用Compile方法进行编译,参数为带入的参数,可通过调用.Compile().G
阅读全文
摘要:模板类的使用,便于快速生成相关的class类,感觉是基础单元(AssemblyCSharpBuilder)的封装 | 类名 | 作用 | 命名空间 | 操作类型 | | | | | | | NAssembly | 快速创建同程序集的 oop 及委托等操作类 | 全局 | 静态初始化,动态实例化 |
阅读全文
摘要:AssemblyCSharpBuilder 最基本编译单元,涵盖了编译流程所需的基本功能,包括创建域,加载dll文件,创建各种类,输出路径更换,调用特定域中的方法等。 Natasha有两种方式编译流程,一种就是AssemblyCSharpBuilder ,相比较而言,它是轻量级的,个人怀疑另一种编译
阅读全文
摘要:#### 问题描述 - 在页面A的方法中调用layer.open打开了一个新页面(页面B) - 页面B中有一个iframe标签,iframe标签链接了另一个页面(页面C) - 页面A需要调用页面C的某个方法 #### 解决方案 - 一级一级的来,先解决然后调用页面B,然后再解决如何调用页面C - 页
阅读全文
摘要:ruoyi版本:4.6.0 问题描述 将后台传入的参数放到$.tree中,当ztree的Node中checked为true时,Node默认为选中,目前前台调用代码 var url = ctx + "获得List<Ztree>的URL"; var options = { url: url, expan
阅读全文
摘要:NatashaInitializer.Preheating 预热方法 首次使用Natasha时都需要进行初始化操作,其中该方法还可以加入一个回调函数作为参数,该回调函数主要作用为减少程序集引用文件的加载,可以有效的控制内存涨幅 通过判断Preheating方法中回调函数的第二个参数,可以有选择性的加
阅读全文
摘要:impl Trait 使用(与泛型类似) // 入参 举例 // 类似与 fn prints_it<T:String+std::fmt::Display>>(input: T){} fn prints_it(input: impl Into<String> + std::fmt::Display){
阅读全文
摘要:Natasha的构成 Natasha官网给出的例子中(例子),用了两种方式去完成了同一件事情 这两种方式也是Natasha脚本构建器的重要组成部分,Complier编译器和Template模板。 Complier编译器 白话就是自己写一个cs代码,然后由Natasha动态编译 AssemblyCSh
阅读全文
摘要:什么是Natasha Natasha是基于Roslyn 的动态程序构架库,说的直白一点就是将一个或多个cs文件进行动态编译并放入到正在运行的程序中去。例如我们有一个设备库,设备库中的设备会不定期的更新,那我们只需要将平台(展示和调用)完成,每次添加的时候使用Natasha生成设备类别和设备的调用代码
阅读全文
摘要:RISC-V是一个通用的指令集架构(ISA),类似于一个标准,当硬件和软件分别遵循RISC-V标准时,就能无缝衔接,至于硬件后面是否有芯片解码,那就是商业化硬件自身的问题了(例如Type-C是一个开放性的标准接口,但是有些厂商会在使用时封装一层,达到商业化的目的)。 与ARM的不同 ARM是增量式的
阅读全文
摘要:C#新特性 泛型属性 创建属性时可直接使用泛型 // 声明一个泛型属性 public class GenericAttribute<T>:Attribute{} // 使用 [GenericAttribute<string>()] public string Method()=> default;
阅读全文