摘要: impl Trait 使用(与泛型类似) // 入参 举例 // 类似与 fn prints_it<T:String+std::fmt::Display>>(input: T){} fn prints_it(input: impl Into<String> + std::fmt::Display){ 阅读全文
posted @ 2023-04-20 14:58 摧残一生 阅读(46) 评论(0) 推荐(0) 编辑
摘要: Natasha的构成 Natasha官网给出的例子中(例子),用了两种方式去完成了同一件事情 这两种方式也是Natasha脚本构建器的重要组成部分,Complier编译器和Template模板。 Complier编译器 白话就是自己写一个cs代码,然后由Natasha动态编译 AssemblyCSh 阅读全文
posted @ 2023-04-14 16:08 摧残一生 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 什么是Natasha Natasha是基于Roslyn 的动态程序构架库,说的直白一点就是将一个或多个cs文件进行动态编译并放入到正在运行的程序中去。例如我们有一个设备库,设备库中的设备会不定期的更新,那我们只需要将平台(展示和调用)完成,每次添加的时候使用Natasha生成设备类别和设备的调用代码 阅读全文
posted @ 2023-04-13 17:05 摧残一生 阅读(309) 评论(0) 推荐(0) 编辑
摘要: RISC-V是一个通用的指令集架构(ISA),类似于一个标准,当硬件和软件分别遵循RISC-V标准时,就能无缝衔接,至于硬件后面是否有芯片解码,那就是商业化硬件自身的问题了(例如Type-C是一个开放性的标准接口,但是有些厂商会在使用时封装一层,达到商业化的目的)。 与ARM的不同 ARM是增量式的 阅读全文
posted @ 2023-04-01 15:56 摧残一生 阅读(333) 评论(0) 推荐(0) 编辑
摘要: C#新特性 泛型属性 创建属性时可直接使用泛型 // 声明一个泛型属性 public class GenericAttribute<T>:Attribute{} // 使用 [GenericAttribute<string>()] public string Method()=> default; 阅读全文
posted @ 2023-04-01 15:51 摧残一生 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 为什么要从基础看起 从.net framework3.5就开始接触c#,到现在.net7的崛起,期间有大量的新技术和框架冲击着我,MVC1.0的时候放弃过,感觉无所适从,linq也是近几年才开始使用,感觉现在写代码的方式已经被时代所淘汰,因此萌生出了从头捋顺一次。 学习的时候并没有通过一个完整的体系 阅读全文
posted @ 2023-03-25 15:29 摧残一生 阅读(80) 评论(0) 推荐(0) 编辑
摘要: &str 字符串 直接声明时,生命周期为整个程序,直接写进了二进制中,类型为&'static str',意为字符串字元有一个叫static的生命期 借用str 作为String的引用来使用,无生命期,例如 fn print_str(my_str: &str){},调用为print_str(&Stri 阅读全文
posted @ 2023-03-22 15:16 摧残一生 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 链式方法 collect let new_vec = (1..=10).collect::<Vec>(); OR let new_vec: Vec = (1..=10).collect(); Vec![].into_iter().skip(3).take(4).collect::<Vec>(); s 阅读全文
posted @ 2023-03-22 15:01 摧残一生 阅读(36) 评论(0) 推荐(0) 编辑
摘要: u16::checked_add(251, 8).unwrap(); /* checked_add的方式有两种 第一种为u16::checked_add(数值,数值),相加 第二种类型直接调用checked_add() checked_*:返回的类型是Option<_>,当出现溢出的时候,返回值是N 阅读全文
posted @ 2023-03-22 14:59 摧残一生 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 诊断的含义 通过自己的逻辑代码判断动态编译的代码是否有问题,有问题时需要告诉编译器有警告或者错误,让编译器返回来向我们展示我们期望的诊断信息。 因为动态编译时编译器无法得知我们写入是否有问题,从而产生很多奇奇怪怪的错误提示。 使用场景 当代码写好了,准备编译生成时,我们无法判断动态生成的代码是否存在 阅读全文
posted @ 2023-03-20 17:47 摧残一生 阅读(80) 评论(0) 推荐(0) 编辑