- 博客(10)
- 收藏
- 关注
原创 python笔记
使用函数创建或打开文件file:表示将要打开的文件的路径,也可以是要被封装的整数类型文件描述符。mode:是一个可选字符串,用于指定打开文件的模式,默认值是 (以文本模式打开并读取)。可选模式如下:r读取(默认)w写入,并先截断文件x排它性创建,如果文件已存在则失败a写入,如果文件存在则在末尾追加b二进制模式t文本模式(默认)+更新磁盘文件(读取并写入)buffering:是一个可选的整数,用于设置缓冲策略。encodi
2022-12-13 13:43:32 73
原创 Action/Func - C#内置的两个委托
Action/FuncAction/Func 是C#中内置的两个委托,其中:1.Action是无返回值的委托,最大入参为162.Func是有返回值且必须有返回值的委托,最大入参为16 当Func既有入参又有返回值时,返回值写在最后一位,其他入参按照方法定义的顺序排列例如Func<int,string,bool> func 即为返回值类型为bool 传入参数类型分别为int,string的委托由于委托的本质其实也是一个特殊的类 c#中内置Action/Func,除了简化委托的用法之外
2022-02-27 17:31:07 443
原创 委托 - C#
委托 - C#委托的基本用法C# 中经常使用委托来进行跨线程操作,以下整理了一些委托最基础的写法。namespace ConsoleApp1{ class Program { static void Main(string[] args) { Test.MyDelegate myDelegate = Test1.MyFunc; myDelegate.Invoke();
2022-02-17 15:28:51 142
原创 特性(Attribute)
特性(Attribute)常用的系统特性Serializable:常用于标记类,表示可被序列化Nonserialized :不允许序列化,在被标注为Serializable序列化的类中,某字段前加Nonserialized,表示该字段不允许序列化。Obsolete: 标记方法,被标记的方法在调用时会产生警告或报错。 [AttributeUsage(AttributeTargets.All, AllowMultiple = true, Inherited = true)] [Seria
2021-12-21 09:34:32 263
原创 使用反射动态加载dll
使用反射动态加载dll //1.动态读取Dll Assembly assembly = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory +@"\EVEDAS.UPDLL.dll"); //2.获取某一个具体的类型:参数需要是类的全名称; Type type = assembly.GetType("EVEDAS.UPDLL.Api.A300");//3.创建对象 object? oInstance = Activator.Cre
2021-12-13 10:01:01 1101
原创 泛型约束与逆变协变
泛型约束基类约束作用避免类型安全问题 泛型不存在类型安全问题举例:多个子类集成同一个基类,当多个子类需要对基类中的属性、字段、方法调用时,避免因为类型的不同而无法传参。class Program{static void Main(string[] args){Chinese chinese = new Chinese() {Woman = “W” };Japanese japanese = new Japanese() {Dog = “D” }; ViewModel.S
2021-12-01 16:37:27 154
原创 C# 基类约束
基类约束作用避免类型安全问题 泛型不存在类型安全问题举例:多个子类集成同一个基类,当多个子类需要对基类中的属性、字段、方法调用时,避免因为类型的不同而无法传参。 static void Main(string[] args) { Chinese chinese = new Chinese() {Woman = "W" }; Japanese japanese = new Japanese() {Dog = "D" }; ViewMod
2021-11-26 12:00:41 394 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人