C#
C#(.Net Core、WBAPI、.Net Framework)
微软Dynamics 365培训
精通Dynamics 365/CRM产品,专业微软Dynamics 365、Power Apps培训,培训地址:www.microsoft-dynamics365.com
展开
-
泛型协变与逆变
表示T是协变的. 修饰返回值。要求T只能作为返回值,不能作为传入值。表示T是逆变的. 修饰传入值。要求T只能作为传入值,不能作为返回值。实例化的时候,左边的类型参数是父类,右边的类型参数是子类。实例化的时候,左边的类型参数是子类,右边的类型参数是父类。协变和逆变只用于接口和委托。原创 2022-10-23 00:27:47 · 118 阅读 · 0 评论 -
C#利用反射根据类名创建类的实例对象的详细介绍
1)反射创建某个类的实例时,必须保证使用类的完全限定名(命名空间 + 类名)。System.Reflection.Assembly.Load(“程序集名称(不含文件后缀名)”).CreateInstance(“命名空间.类名”, false);若实现“跨程序集”,请使用第一种方法创建类的实例,并反射该实例的字段、属性、方法、事件…这篇文章主要介绍了详解C# 利用反射根据类名创建类的实例对象,“反射”其实就是利用程序集的元数据信息,感兴趣的小伙伴们可以参考一下。/// 要创建对象的类型。转载 2022-10-22 23:50:31 · 2701 阅读 · 0 评论 -
echarts 用JS实现各种图形化开发需求。
也可以用于D365中,比如深南电路的友商雷达图就是用ECharts实现的。一个基于 JavaScript 的开源可视化图表库。原创 2022-10-22 00:02:49 · 340 阅读 · 0 评论 -
C#之lock
程序一旦进入lock,那么就锁住,锁住的这段代码,此时只能有一个线程去访问,只有等这个线程访问结束了,其他线程才能访问。对于为什么先执行A,后执行B,或者先执行B,后执行A,这个是操作系统根据CPU自动计算出来的。目的是,在多线程中,使用lock后,能使该代码块按照指定的顺序执行,被lock这块代码已经被其中一个线程访问了,那么另外一个线程只能等待。有时候先执行B方法,有时候先执行A方法。1.看此代码,是从上面开始执行,先执行A,再执行B,这就是单线程程序,按照顺序执行的,此时结果是可以控制的。转载 2022-10-21 22:55:49 · 5479 阅读 · 0 评论 -
什么是websocket 和singalR?
双工通讯是指:客户端可以向服务器端发请求,服务器端也可以向客户端发请求。单工通讯则是指:只能客户端向服务器端发请求。原创 2022-10-21 20:46:57 · 1004 阅读 · 0 评论 -
C# 后缀为axd 的文件
所以在项目的添加文件中,向导只有添加ashx文件的模板,而没有添加axd文件的模板。原来,如果你的web handler代码不在Web的项目中的话,那你就不能使用ashx了,因为如果不在web.config中注册的话,系统根本不知道要在那个dll库中才能找到相应的代码。只有注册了,web才知道OpenSearch.axd原来是在Company.Extensions.dll中,使用Company.Components.HttpHandler.OpenSearchHandler类处理。扩展名: .axd。转载 2022-10-21 12:27:03 · 420 阅读 · 0 评论 -
.NET 面试题 - C#基础
http://6.ASP.NET MVC,刚开始接触这个技术的时候我经常不理解他们的名字,我相信许多学http://ASP.NET开发人员开始接触MVC应该也和我一样产生很多为什么,也会误认为认为MVC与http://ASP.NET完全没有关系,是一个全新的Web开发,深入学习后我才知道事实上http://ASP.NET是创建WEB应用的框架而MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系,所以可以称之为http://ASP.NET MVC。功能内聚是最强的内聚,其优点是它的功能明确。转载 2022-10-19 14:01:32 · 2195 阅读 · 0 评论 -
软件开发模式:瀑布、敏捷、DevOps
DevOps持续交付的八大原则对可运维性给出了这样的定义,在企业中研发和运维体系必然需要相互配合,开发团队负责功能性需求实现的同时,在架构和编码上注重非功能性需求的实现,测试团队与运维团队将围绕着各自职能的需求,规划与建设DevOps流水线中对应的工具系统,加速企业IT价值链的流转,以为企业创造更大的商业价值。持续部署是持续交付的下一步,在持续交付的基础上,由开发人员或运维人员自助式的定期向生产环境部署稳定的构建版本,持续部署的目标是代码在任何时刻都是可部署的,并可自动进入到生产环境。转载 2022-10-19 11:55:26 · 2995 阅读 · 0 评论 -
C#常用的数据结构
C#常用的数据结构转载 2022-10-18 11:12:23 · 3859 阅读 · 0 评论 -
C#多线程之Parallel.for 类似于for的continue,break的方法
C#多线程之Parallel.for 类似于for的continue,break的方法原创 2022-10-18 11:07:38 · 782 阅读 · 0 评论 -
C#【多线程篇】Parallel.For和for的效率比较(Paralle.Foreach和foreach比较类似)
C#【多线程篇】Parallel.For和for的效率比较(Paralle.Foreach和foreach比较类似)转载 2022-10-18 10:39:26 · 575 阅读 · 0 评论 -
C#中Parallel类For、ForEach和Invoke使用介绍
C#中Parallel类For、ForEach和Invoke使用介绍原创 2022-10-18 10:02:27 · 1678 阅读 · 0 评论 -
控制反转 依赖注入 概念复习
控制反转是一种在软件工程中解耦合的思想,调用方依赖接口或抽象类,减少了耦合,控制权交给了服务容器,由容器维护注册项,并将具体的实现动态注入到调用方。有些人会把控制反转和依赖注入等同,实际上有本质区别:控制反转是 一种思想;依赖注入是一种设计模式。依赖注入是实现控制反转的一种方式,但是控制反转还有其他实现方式,例如说ServiceLocator,所以不能将控制反转和依赖注入等同。在运行时,框架会解析依赖树、依赖图,通过反射在运行期生成对象。...原创 2022-06-11 16:00:36 · 85 阅读 · 0 评论 -
前端页面为什么要在引入的CSS文件和JS文件后面带版本号参数?
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2022-06-11 14:36:05 · 996 阅读 · 0 评论 -
netcore Startup.cs文件相关内容总结
第一次面对 Startup.cs 往往无从下手,本文记录在项目中的经验,不会涉入到内部的代码实现以及相关的原理。项目初始化完成startup.cs的原貌:.NET Core 项目经验总结:Startup.cs 介绍(二)ConfigureServices: 将服务注入到容器中 比如:第三方组件Configuere:配置http请求管道 ,比如:session,cookie读取配置信息.Net Core 使用appsetting.json 存储配置信息,如图:.NET Core 项目经验总结:Startu原创 2022-06-04 17:25:16 · 705 阅读 · 0 评论 -
AddSingleton、AddScoped、AddTransient三个方法区别
学习AddSingleton、AddScoped、AddTransient三个方法区别AddSingleton()方法创建一个Singleton服务,首次请求会创建服务,然后,所有后续的请求中都会使用相同的实例,整个应用程序生命周期都使用该单个实例AddScoped():不同http清求,实例不同,同名谓词不同,也不行。例如httpget跟httppost,作用域是一定范围内,例如从同一个post请求的create方法,只能统计一次,每次请求都是新的实例AddTransient():临时服务,每次请求时,原创 2022-06-04 14:59:10 · 4753 阅读 · 0 评论 -
Razor语法简介 && CSHTML文件介绍
Razor简介:Razor是一种简单的编程语法,用于在网页中嵌入服务器端代码。Razor 语法基于 ASP.NET 框架,该框架是微软的 .NET 框架特别为 web 应用程序开发而设计的组成部分。Razor 语法赋予所有 ASP.NET 的能力,但是使用了简化过的语法,如果您是初学者,则更容易学习,如果您是专家,则更有利于提高生产力。Razor 网页可被描述为带有两种内容的 HTML 页面:HTML 内容和 Razor 代码。当服务器读取这种页面后,在将 HTML 页面发送到浏览器之前,会首先运行 Ra原创 2022-05-04 20:41:00 · 2220 阅读 · 0 评论 -
.netcore 6.0使用JsonResult返回时中文被编码
在使用.net6.0 构建mvc项目练习时发现使用Json返回结果有中文,中文会被编码像这样**{“success”:false,“message”:"\u90AE\u7BB1\u683C\u5F0F\u4E0D\u6B63\u786E"}**,随即构建一个API项目发现也是一样,会被转码;尝试使用ContentResult返回字符串发现没有被转码,使用Newtonsoft.Json序列化对象后使用ContentResult也是正常的,不知道是不是因为.net core 6.0 使用System.Text.原创 2022-03-31 07:13:45 · 1815 阅读 · 0 评论 -
.net6,C#新语法汇总
1,全局using 的用法。在项目中新建一个GlobalUsing的cs文件,把需要引用的名称空间全部写成global using的方式,比如global using Microsoft.AspNetCore.Mvc; 那么在项目中其他cs文件中则不需要再次using该名称空间了。微软在这里做了框架上的优化,减少了我们重复写代码的工作量。...原创 2022-03-29 03:32:57 · 1661 阅读 · 1 评论 -
使用.net6.0创建asp.net core webapi项目
1,NET6.0和NET5.0创建的asp.net core webapi项目的区别:NET5.0创建的webapi项目有一个Startup.cs文件。在NET6.0下面没有了。说明微软在这块又做了优化。精减了启用文件。2,原创 2022-03-29 02:23:05 · 4974 阅读 · 0 评论 -
一张图看.netcore发展历程
一张图看.netcore发展历程原创 2022-03-27 17:53:31 · 720 阅读 · 0 评论 -
委托相关知识
1,委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。...原创 2022-03-27 17:50:54 · 376 阅读 · 0 评论 -
C#中IDisposable
C#中IDisposableC#中IDisposable在Net中,由GC垃圾回收线程掌握对象资源的释放,程序员无法掌控析构函数的调用时机。对于一些非托管资源,比如数据库链接对象等,需要实现IDisposable接口进行手动的垃圾回收。那么什么时候使用Idisposable接口,以及如何使用呢?一、IDisposable的接口定义如下public interface IDisposable{// Summary:// Performs application-defined tasks转载 2022-03-15 01:20:51 · 1271 阅读 · 0 评论 -
Dotnet6 初体验
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入检测.net环境是否已经安装好:运行cmd 执行dotnet :欢迎使用Markdown编辑器你好! 这是你第一次使原创 2022-03-11 21:02:13 · 2567 阅读 · 0 评论