.Net相关
文章平均质量分 79
芝麻麻雀
这个作者很懒,什么都没留下…
展开
-
Prism+WPF使用DependencyInjection实现AutoMapper的依赖注入功能
前言在使用PRISM+WPF开发项目的过程中,需要使用AutoMapper实现对象-对象的映射功能。无奈PRISM没有相关对AutoMapper相关的类库,于是转换一下思想,在nuget 中存在有关使用Microsoft.Extensions.DependencyInjection来实现AutoMapper的依赖注入方法,那能不能将DryIoc和Microsoft.Extensions.DependencyInjection一起使用来实现依赖注入的功能呢?通过在网上搜索,发现痕迹大佬实现了【WPF Pr原创 2021-09-15 10:14:20 · 837 阅读 · 0 评论 -
在.NET 6中使用DateOnly和TimeOnly
千呼万唤始出来在.NET 6(preview 4)中引入了两个期待已久的类型,将作为核心库的一部分。DateOnly和TimeOnly允许开发人员表示DateTime的日期或时间部分。这两个类型为值类型(struct type),可以在代码中独立处理日期或时间概念时使用,它们定义在System命名控件中,使用它们可以与数据库中允许表示相同类型数据的方式保持一致。具体来说,这些类型与SQL Server数据库中日期和时间类型可以很好的进行匹配。注意:如果你要使用这两种类型,需要下载并安装.NET 6(pr原创 2021-05-31 17:18:34 · 975 阅读 · 3 评论 -
WPF在.NET 5 中的线路图
WPF是用于构建Windows桌面应用程序的.NET Core UI框架。WPF的所属权最近已经移交给了我们的团队(Windows下开发生态系统和平台的团队)。这种转变使跨UI框架(即WinUI和WPF)保持一致,并随着行业中新技术趋势和设备的推出而适应未来的发展。下面的线路图表达了NET Core WPF在2020年和2021年的发展规划。它会根据市场变化和客户反馈继续发展,因此请注意,此处概述的计划并不详尽或无法保证。我们欢迎您对路线图提出反馈:请随时为现有问题做出贡献或提出新问题。里程.原创 2020-07-16 14:53:19 · 974 阅读 · 0 评论 -
C# 跨平台UI 技术
构建跨平台应用程序的的几种UI技术,以C# 或者其他基于.NET的 语言(诸如:Visual Basic[VB])。本文研究了三种跨平台技术,并讨论了在哪些情况下开发人员可以使用这些技术。本文使你对可以用于C#中构建前端应用程序的技术有一个基本了解,并将回答诸如哪些平台可用的问题。那它可以在浏览器中运行吗?它会具有原生的外观和感受吗?另外,可以将其部署到应用商店吗?背景.NET Framework是一项于2000年代初创建的技术,主要用于Windows桌面应用程序。当时主要的两种语言是C#和VB。这些语翻译 2020-07-06 21:46:14 · 2415 阅读 · 0 评论 -
【WPF】DataGrid多表头的样式设计
需求在使用WPF开发时,使用DataGrid列表显示数据时,有些字段可以进行分组显示,用于更好的表达它们之间存在的某种关系,因此就考虑到要对DataGrid的表头进行扩展,可以显示多行表头,让这些有关联的字段内容显示的更加明了简洁。自定义样式这段自定义样式可以放在MainWindow.xaml文件中,或者自己定义一个存放样式文件的xaml进行存放。这里在模版里面使用的第一个Grid,是用于总的显示,还有右侧边竖线分割线,嵌入的Grid用于显示多表头的处理显示功能:第一行为总的信息,第二行为第一行和原创 2020-06-28 19:13:14 · 1672 阅读 · 0 评论 -
在运行时生成C# .NET类
本文译自:Generating C# .NET Classes at Runtime作者:WedPort在我的C#职业生涯中,有几次我不得不在运行时生成新的类型。希望把它写下来能帮助有相同应用需求的人。这也意味着我以后不必在查找相同问题的StackOverflow文章了。我最初是在.NET 4.6.2中这样做的,但我已经更新到为.NET Core 3.0提供了示例。所有代码都可以在我的GitHub上面找到。GitHub:https://github.com/cheungt6/public/tre翻译 2020-06-22 13:21:50 · 304 阅读 · 0 评论 -
RestSharp的使用说明
RestSharp介绍不得不说,RestSharp是一款非常有用的REST API客户端库。RestSharp可能是.NET中最受欢迎的HTTP客户端库,具有自动序列化和反序列化,请求和响应类型检测,各种身份验证以及其他有用的功能,正在被成千上万的项目使用。RestSharp在NuGet上的下载量超过3200万,评价每日下载量为10000。许多受欢迎的OSS项目(包括Roslyn和Swagge...原创 2020-03-20 10:53:23 · 1906 阅读 · 0 评论 -
10个用于C#.NET开发的基本调试工具
在调试软件时,工具非常重要。获取正确的工具,然后再调试时提起正确的信息。根据获取的正确的错误信息,可以找到问题的根源所在。找到问题根源所在,你就能够解决该错误了。你将看到我认为最基本的解决在C# .NET 中错误问题的工具的列表。这些将帮助你找到任何难题的根本原因并加以解决。除了代码中的常见问题外,一下工具还可以处理各种问题类型,包括:性能问题内存问题(GC压力和内存泄漏)第三方引用库...翻译 2020-02-26 11:30:39 · 1271 阅读 · 0 评论 -
C#的静态工厂方法与构造函数对比
最近,在与同事进行协同编程时,我们开始讨论在C#中初始化新对象的最佳方法。我一直是使用构造函数实现,尽管他倾向于静态工程方法。这引起了关于每种类型的利弊的大量来来回回的讨论。为了说明我所说的内容,这是两个例子:// Using the constructorSqlConnection myConnection = new SqlConnection(connectionString);//...原创 2020-02-25 09:48:25 · 220 阅读 · 0 评论 -
【火坑】一切从TimeSpan说起
小编在编写WPF程序时,需要做一个判断:定时使用Modbus协议使用Quartz.net 定时任务读取设备中的数据,同时也使用定时任务判断是否长时间获取不到数据的情况,如果程序中超过一分钟没有获取到数据(数据没有更新),则认为已经掉线。因此在类中使用了 DateTime类型数据记录获取数据的时间。判断是否在线使用了当前时间减去获取数据的时间,类似于这样:RunningTime = Dat...原创 2020-01-09 10:39:01 · 203 阅读 · 0 评论 -
8 Ways You can Cause Memory Leaks in .NET
Any experienced .NET developer knows that even though .NET applications have a garbage collector, memory leaks occur all the time. It’s not that the garbage collector has bugs, it’s just that there ...转载 2019-04-23 09:27:56 · 444 阅读 · 0 评论 -
WPF中ObservableCollection在非界面线程操作方法
Wpf中ViewModel类里面经常会需要用到ObservableCollection来管理列表数据,在做异步通信的时候也会碰到“不支持从调度程序线程以外的线程对其 SourceCollection 进行的更改”这样的异常App.Current.Dispatcher.BeginInvoke(new Action(() =>{ ...原创 2019-04-23 13:28:03 · 1385 阅读 · 0 评论 -
【WPF】自定义刻度盘控件
本文主要介绍一个自定义的旋转刻度盘控件,可以进行配置标签、主刻度、主刻度增量。包含一个简单的演示程序,用于演示如何使用此刻度盘。左侧表盘的数值范围为:0-1,每0.2个单位有一个主刻度和黑色标签,表盘宽度为150。中间表盘的数值范围为:0-100,每25个单位有一个主刻度和白色标签,表盘宽度为200。右边表盘的数值范围为:0-50,每5个单位有一个主刻度和黑色标签,表盘宽度为400。技术...翻译 2019-05-05 15:09:15 · 1214 阅读 · 0 评论 -
WPF PasswordBox的数据绑定功能处理
当我们输入的敏感信息时,用到最多的就是使用PasswordBox。但是由于某些原因或考虑,wpf的标准并不支持Binding方法。PasswordBox的属性只是一个普通的CLR属性,并不是Dependency 属性。幸运的是,wpf具有附加属性的概念,允许我们更加容易的进行控件的扩展。下面就使用附加属性进行处理PasswordBox的绑定功能使用方法如下<Page xmlns...翻译 2019-04-25 17:11:26 · 1808 阅读 · 0 评论 -
使用LazZiya.ExpressLocalization开发多语言支持的ASP.NET Core 2.x项目
介绍开发多语言支持的ASP.NET Core 2.x Web应用程序需要大量的基础架构设置,并且耗费时间和精力。这篇文章,我们将使用LazZiya.ExpressLocalization nuget包一步本地化支持。背景大多数网络应用程序都是基于网址的本地化。因此我们可以在网址中看到所选的语言。例如http://www.example.com/en/Contact。不幸的是,ASP.NET ...翻译 2019-06-06 10:55:31 · 405 阅读 · 0 评论 -
如何在C#中调试LINQ查询
LINQ是我在C#中最喜欢的功能之一。它让代码看起来更漂亮美观。我们得到了一个易于编写和理解的简洁函数式语法。好吧,至少我们可以使用LINQ方法的语法风格。LINQ很难进行调试。我们无法知道该查询内部发生了什么。我们可以看到输入和输出,但这就是它的全部。出现问题时会发生什么?我们只是盯着代码,试图获得某种洞察力?必须有一个更好的方式……调试LINQ虽然很难,但可以使用一些技术来调试LINQ...翻译 2019-06-14 10:23:48 · 1038 阅读 · 0 评论 -
C#中的条件断点
这只是你们许多人中可能使用的一个简单技巧。这是一个小但非常强大的技巧,在你调试大型代码库时尤其有用。这是条件断点的概念。正如名称本身所暗示的那样,只有在满足某个条件时才会设置被击中的断点。它也很容易实现。创建一个新的应用程序并设置一个普通断点。因此,每个Page_Load执行时都会出现这种情况。当你进行调试时,这可能非常烦人。并且他会继续遇到这个断点。所以,我们让它命中断点添加上条件。只需将...翻译 2019-06-14 10:49:20 · 1780 阅读 · 0 评论 -
【译】C#9的候选功能
通往C# 9 的漫长挡路已经开始了,这是世界上第一篇关于C# 9候选功能的文章。阅读完本文后,你将希望为将来遇到新的C#挑战做好充分准备。这篇文章基于:C#语言版本计划 9.0 候选功能基于记录和模式匹配的表达式我一直在长时间等待这个功能。记录是一种轻量级的不可变类型。它们是名义上的类型,可能有(方法、属性、运算符等),并允许你比较结构相等。此外,在默认情况下,记录属性是只读的。记录...翻译 2019-06-03 17:44:03 · 271 阅读 · 0 评论 -
C# 语言性能提升方法
1、String Split在C#中,共有10个Split 的重载方法大多数开发人员使用如下方法:static void SplitChar(){ var str = "Akshay|Patel"; var s1 = new Stopwatch(); s1.Start(); string[] temp = str.Split('|'); ...翻译 2019-11-20 15:32:05 · 459 阅读 · 0 评论 -
【vs2017踩坑记】错误 MSB4018 “Microsoft.Web.LibraryManager.Build.RestoreTask”任务意外失败。
在创建ASP.NET Core MVC 2.2的项目时,用SVN同步到其他电脑(新装的电脑)时,出现编译错误,内容如下:严重性 代码 说明 项目 文件 行 禁止显示状态错误 MSB4018 “Microsoft.Web.LibraryManager.Build.RestoreTask”任务意外失败。System.TypeInitializationException: “Microsoft....原创 2019-07-12 08:59:05 · 2319 阅读 · 0 评论 -
NetOffice Excel的使用注意事项(持续更新...)
1、打开一个excel//变量private NetOffice.ExcelApi.Application _excelApp = null;private NetOffice.ExcelApi.Workbook _workbook = null;//初始化_excelApp = new NetOffice.ExcelApi.Application();//打开一个excel_...原创 2018-09-18 11:41:11 · 3653 阅读 · 3 评论 -
从一个窗体更新另一个窗体中的显示内容
github地址:https://github.com/mzy666888/OneFormUpdateOtherForm1、新建一个winform的工程,名称为:TwoFormUpdate新添加一个Form2。在Form2中添加一个label,并将label的Modifiers更改为public,在Form1中添加三个按钮,名称分别为:显示窗体,开始,结束,定义的变量和三个按...原创 2019-04-09 15:07:54 · 1134 阅读 · 0 评论 -
Windows Form上的Color
我们知道在开发使用winform的过程中,有时需要设置backcolor和forecolor。在设计窗口中,这两个选项下面有三个tab可以选择。分别是:自定义、Web和系统三个选项Web使用的类为:Color 系统使用的类为:SystemColors。...原创 2018-12-26 10:23:29 · 532 阅读 · 0 评论 -
Resharper设置
给VS安装StyleCop插件其实在Resharper中有个扩展,上面也有StyleCop插件可以安装Resharper中的StyleCop会给出很多的编写代码的规则原创 2018-10-01 20:45:00 · 1291 阅读 · 0 评论 -
ConcurrentDictionary的使用[未完成]
命名空间:System.Collections.Concurrent引用库:System.Collections.Concurrent.dll, mscorlib.dll, netstandard.dll介绍:可以多线程同时访问的线程安全的键/值对的集合类型参数TKey:字典中键的类型 TValue:字典中值的类型ConcurrentDictionary属性Count:获取...原创 2018-10-01 23:02:54 · 1065 阅读 · 0 评论 -
AutoFac在WinForm中的使用
新建winform项目,命名为WfaAutoFacDemo,使用nuget添加autofac的引用,最新版为4.8.1,直接安装即可 添加一个服务接口:IService和ISecondService,定义如下:namespace WfaAutoFacDemo.Interface{ public interface IService { string Do...原创 2018-09-19 10:50:01 · 11339 阅读 · 0 评论 -
NetOffice - MS Office in .NET
NetOffice是用于访问Microsoft Office应用的.NET的程序集特性 对MS Office没有版本限制 包含MS Office的版本2000,2002,2003,2007,2010,2013和2016的所有特性 支持独立开发特性 在语法和语义上,与Microsoft Interop Assemblies相同 如果了解MS Office模型,则不需要重新学习,可...原创 2018-09-18 13:05:54 · 5307 阅读 · 0 评论 -
“System.TypeInitializationException”类型的未经处理的异常在 mscorlib.dll 中发生
今天在程序中需要添加mqttnet的引用,所以项目需要从.netframework 4.0升级到.netframework 4.5.2,把需要在nuget上引用的库也进行了升级,其中升级了Common.Logging.Log4Net1215到Common.Logging.Log4Net208版本。项目编译没有报错,遂进行CTRL+F5运行,发现项目不能启动,心里一阵发慌,哪里出错了呢?使用...原创 2018-09-04 11:18:13 · 25499 阅读 · 2 评论 -
OxyPlot中DateTimeAxis
DateTimeAxis是用来在坐标轴上展示日期/时间值的。如果添加一个DataPoint 值到Series中,DateTime值需要使用如下方法进行转化mySeries.Points.Add(new DataPoint(DateTimeAxis.ToDouble(myDateTime),myValue))对DateTimeAxis需要使用StringFormat属性进行转化Co...原创 2018-08-23 17:16:06 · 3099 阅读 · 0 评论 -
OxyPlot在WinForm中的应用
1、简介(从GitHub上复制)Getting startedUse the NuGet package manager to add a reference to OxyPlot (see details below if you want to use pre-release packages) Add a PlotView to your user interface Cre...原创 2018-08-15 16:50:18 · 10687 阅读 · 2 评论 -
OxyPlot在WinForm中的应用之BarSeries
直接看代码,请使用nuget添加oxyPlot的引用namespace OxyPlotWinform{ public partial class FrmBarSeries : Form { private PlotModel _barModel; public FrmBarSeries() { Ini...原创 2018-08-23 11:28:42 · 2191 阅读 · 0 评论 -
.NET 串口数据接收问题
C#中自带的串口类 SerialPort需要添加引用:using System.IO.Ports;在数据接收过程中,由于这样或那样的问题,导致从串口发来的数据并不是同时达到的。因此接收到的数据就不是完整的。为了让数据接收具有完整性,需要在接收数据的方法中进行判断可用数据字节的长度private void SerialPortOnDataReceived(object s...原创 2018-10-13 09:19:37 · 1244 阅读 · 1 评论 -
Live-Charts-简单,灵活,互动和强大的图表
注:文中的相关图片中的功能,可能需要收费,有些不在开源项目里面。We are doing a full rewrite of the library with all the learned lessons, the new version is focused on: If you own the Geared package the new high performance vers...原创 2018-10-13 13:35:00 · 9736 阅读 · 0 评论 -
TryUpdateModel的使用
TryUpdateModel进行更新实体时,如果返回为false。可以使用var errors = ModelState.Select(y => y.Value.Errors);查找是哪个属性出现了问题。另外:ModelState.IsValid和TryUpdateModel是一致的,如果在TryUpdateModel时出现错误,ModelState.IsValid也会变成...原创 2018-10-07 11:47:43 · 2594 阅读 · 0 评论 -
AutoMapper扁平化处理
文档地址:https://automapper.readthedocs.io/en/latest/Flattening.html对象-对象的映射,最常见的应用就是将一个复杂的对象模型映射到一个简单的对象模型。如有如下复杂模型:public class Order{ private readonly IList<OrderLineItem> _orderLineIte...翻译 2018-11-30 09:24:48 · 434 阅读 · 0 评论 -
AutoMapper三人组实现
1、AutoMapper的配置:AutoMapperConfiguration在注释的下一行添加需要map的代码,完成map转换namespace AutoMapperConfig{ public static class AutoMapperConfiguration { public static void InitAutoMapper() ...原创 2018-11-29 17:08:17 · 136 阅读 · 0 评论 -
C#/.NET不使用判断语句实现Bytes到KB,MB,GB,TB单位智能转换的静态扩展方法
public static string ConvertBytes(this long len){ string[] sizes = { "Bytes", "KB", "MB", "GB", "TB" }; int order = 0; while (len >= 1024 && order + 1 < siz转载 2018-11-21 15:15:18 · 215 阅读 · 0 评论 -
解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的错误
在使用ASP.NET MVC 5 的过程中,在使用富文本编辑器过程中,出现如标题中的错误提示。网上找了一些解决方法。大多就是以mvc3,mvc4为版本的解决方案。在mvc5的controller的action方法头部添加就可以解决[ValidateInput(false)]另外推荐一个好用的富文本编辑器:原地址github:https://github.com/wangfupeng1...原创 2018-11-03 15:19:16 · 396 阅读 · 0 评论 -
【.NET类库推荐】DocX——创建或修改Word
github:https://github.com/xceedsoftware/DocXgitee:https://gitee.com/sesametech-group/DocX此库是用于创建Word文档,使用中无需安装Word,快四并易于使用的 .NET库Edition DocX Xceed Words for .NET Price Free $499.9...原创 2018-10-24 11:55:19 · 3067 阅读 · 0 评论 -
Asp.Net Mvc WebApi集成Swagger
看到好多都用Swagger生成API文档,但是在网上找了几个blog根据写了之后,发现一下坑,现记录下来1、新建一个项目,SwaggerMvc5Demo,如果选择mvc项目,需要引用web API引用。或者直接选择Web API项目。2、添加对Swagger的引用:在nuget中搜索:Swashbuckle,现在的版本为5.6.0;进行安装3、点击项目->属性->生成,在输...原创 2018-10-24 10:13:57 · 1395 阅读 · 0 评论