C#
文章平均质量分 56
OneByOneDotNet
智者建桥,愚者建墙,天之道,损有余而补不足。人之道,损不足以奉有余。
展开
-
C# Interlocked 实现线程同步
使用Interlocked 实现线程同步原创 2023-02-01 21:11:51 · 391 阅读 · 1 评论 -
Method MethodName is not supported on this proxy
Method MethodName is not supported on this proxy, this can happen if the method is not marked with OperationContractAttribute or if the interface type is not marked with ServiceContractAttribute原创 2023-01-30 11:14:04 · 238 阅读 · 0 评论 -
CS8669 对可为 null 的引用类型的批注只应在 “#nullable“ 批注上下文中的代码中使用。自动生成的代码要求在源中使用显式 “#nullable“ 指令
CS8669 对可为 null 的引用类型的批注只应在 "#nullable" 批注上下文中的代码中使用。自动生成的代码要求在源中使用显式 "#nullable" 指令原创 2023-01-12 10:04:53 · 1051 阅读 · 0 评论 -
.NET 6 VS2022连接WebService 生成代理客户端代码
.NET 6 VS2022连接WebService 生成代理客户端代码原创 2022-12-20 15:45:37 · 1360 阅读 · 0 评论 -
在 .NET Core 中使用 WCF 服务——最佳实践
.net core 调用wcf原创 2022-12-19 19:52:36 · 1200 阅读 · 0 评论 -
System.UnauthorizedAccessException: Access to the path is denied
读写服务器文件时候发生的异常原创 2022-10-19 17:26:36 · 5595 阅读 · 0 评论 -
RestSharp with polly 封装
对RestSharp和polly封装原创 2022-10-18 14:52:33 · 522 阅读 · 0 评论 -
TaskCompletionSource
笔记原创 2022-10-13 13:56:23 · 245 阅读 · 0 评论 -
IEnumerable vs ICollection vs IList vs IQueryable in C#
4个集合接口的区别原创 2022-10-08 16:13:40 · 212 阅读 · 0 评论 -
Winform Application.SetUnhandledExceptionMode Method
Application.SetUnhandledExceptionMode 方法 可以设置程序的一场处理,参数是一个 UnhandledExceptionMode 的枚举参数值说明Automatic将所有异常路由到 ThreadException 处理程序,除非应用程序的配置文件另有指定。CatchException总是将异常路由抛到 ThreadException 处理程序。忽略应用程序配置文件。ThrowException不要将异常路由到 ThreadExce原创 2022-05-11 11:18:53 · 620 阅读 · 0 评论 -
WinForm自定义控件应用实例
WinForm自定义控件应用实例C#的WinForm有一些控件具备自绘的功能,这就意味着你可以对这些控件进行自绘,可以起到意想不到的视觉效果。本文所述的以下控件就是通过一些简单的控件转变过来的。具体示例如下:1、横向选项卡重绘:这里的“横向”对话框其实是通过一个TabControl进行“方向旋转”、重绘控件项等操作进行实现的。步骤如下:①.Alignment:用于控制选项卡的方向(设置为Left)。②.SizeMode:用于调整每个选项卡,默认是Normal(非自绘模式),此处应该设置为Fixed原创 2022-01-12 16:49:51 · 644 阅读 · 0 评论 -
Nlog(转)
前言日志是每个程序的基本模块。本文是为了探究如何通过NLog方便及记录日志并通过Log4View工具收集日志统一查看。为什么是NLog?下载量NLog和Log4Net差不多,这两个日志模块是.Net平台使用最多的两大日志模块。Log4Net上次更新已经是17年3月NLog更新的比较频繁,开发者比较活跃,有问题的话修复更及时。NLog是适用于各种.net平台(包括.net standard)的灵活而免费的日志记录平台。通过NLog, 可以轻松地写入多个目标。(数据库、文件、控制台), 并动.转载 2021-12-09 16:22:21 · 1616 阅读 · 0 评论 -
win32API网址
https://docs.microsoft.com/en-us/windows/win32/winmsg/about-messages-and-message-queues原创 2021-12-01 14:23:20 · 254 阅读 · 0 评论 -
SOD框架,winform下的MVVM也能玩出花样来
Web前端技术的大力发展,各种跨平台的基于HTML5的移动前端开发技术逐渐成熟,各种应用逐步由传统的C/S 转换到 B/S ,APP模式,基于C/S模式的前端技术比如WPF的关注度逐渐下降,因此WPF上的MVVM并不是应用得很广,目前很多遗留的或者新的 C/S系统仍然采用WinForms技术开发维护,然而WinForms 上却没有良好的MVVM框架,WinForms 的UI效果和整体开发质量,开发效率没有得到有效提高,要过度到WPF开发这种不同开发风格的技术难度又比较大,所以,如果有一种能够在 WinFor转载 2021-11-24 10:36:32 · 3736 阅读 · 0 评论 -
.Net Core架构
.NET 6.0 已经发布,高性能云原生开发框架。希望有更多的小伙伴加入大.NET阵营。这是本系列的第三篇文章:架构篇,喜欢的园友速度学起来吧。本系列文章,主要分享一些.NET Core比较优秀的社区资料和微软官方资料。我进行了知识点归类,让大家可以更清晰的学习.NET Core。首先感谢资料原作者的贡献。第一篇:.NET Core资料精选:入门篇介绍.NET历史、开源之路、基础、路由、依赖注入、HttpContext、cookie|session、HttpClient、gRPC、单元测试、发布部署转载 2021-11-19 13:52:06 · 3160 阅读 · 1 评论 -
C#遍历获取枚举的DescriptionAttribute内容
var typeNames = new List<string>(); var enumType = typeof(MouduleType); foreach (var value in Enum.GetValues(enumType)) { var fieldInfo = enumType.GetField(Enum.GetName(enumType, value)); ...原创 2021-11-19 09:35:10 · 451 阅读 · 0 评论 -
winform 窗体继承后无法编辑
"并非所有控件都支持从基本窗体进行可视化继承。以下控件不支持本演练中描述的场景: WebBrowser、ToolStrip、ToolStripPanel、TableLayoutPanel、FlowLayoutPanel、DataGridView 。继承窗体中的这些控件是无论您使用何种修饰符(私有(private)、 protected 或公共(public)),始终为只读。”...原创 2021-11-16 11:44:14 · 1282 阅读 · 0 评论 -
在Winform中实现一个分割线
在Winform中实现一个分割线,具体操作如下:(1)拖一个Label标签控件(2)属性中的AutoSize设置为False(这样就可以手动设置大小了)(3)将Size尺寸中的大小第二个参数高度设置为2,宽度设置为你想要的大小(4)把BorderStyle边框设置为Fixed3D样式...原创 2021-11-16 10:06:53 · 844 阅读 · 0 评论 -
Winform TreeView 选择节点颜色自定义
TreeView没有属性可以设置选中节点颜色,因此只有在DrawNode事件中来改变颜色。首先设置TreeView的属性treeView1.DrawMode = TreeViewDrawMode.OwnerDrawText;DrawNode事件 private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e) { if ((e.State & TreeNodeStates.Select原创 2021-11-13 10:12:13 · 2507 阅读 · 0 评论 -
C# winform TreeView 的右键菜单的下级菜单的选项视情况禁用方法
在右键菜单的Opening事件内获取鼠标的坐标如果不能强转成node,则取消响应private void flowRightMenu_Opening(object sender, CancelEventArgs e) { // Select this node. var node_here = tv_Flows.GetNodeAt(Cursor.Position.X, Cursor.Position.X); if (n原创 2021-11-12 16:54:52 · 687 阅读 · 0 评论 -
WPF 制作高性能的透明背景异形窗口(使用 WindowChrome 而不要使用 AllowsTransparency=True)
在 WPF 中,如果想做一个背景透明的异形窗口,基本上都要设置 `WindowStyle="None"`、`AllowsTransparency="True"` 这两个属性。如果不想自定义窗口样式,还需要设置 `Background="Transparent"`。这样的设置会让窗口变成 Layered Window,WPF 在这种类型窗口上的渲染性能是非常糟糕的。本文介绍如何使用 `WindowChrome` 而不设置 `AllowsTransparency="True"` 制作背景透明的异形窗口,这可转载 2021-08-06 08:52:10 · 3151 阅读 · 1 评论 -
Prism WPF Region
这里有个目录什么是Region(区域)?定义(动态占位符)松耦合在xaml内创建Region在Code里面创建Region什么是RegionManager?什么是RegionAdapter?创建自定义RegionAdapter什么是Region(区域)?定义(动态占位符)简单来说,Region可以理解为View的动态占位符,在View上进行视图占位,就像图书馆占座一样,方便后续注入UI元素。比如我们可以将我们的程序划分为MenuRegion,Top Region、和Main Region.松耦合原创 2021-08-05 16:52:48 · 459 阅读 · 0 评论 -
Prism8 for wpf学习笔记-Prism简介和安装
这里写目录标题什么是Prism?下载并安装Prism系统需求源码和示例[NuGet packages](https://docs.microsoft.com/zh-cn/nuget/quickstart/install-and-use-a-package-in-visual-studio) 安装prism安装生产力工具(可在了解prism基础组成后回退回来安装)Prism Template PackSnippets(代码片段)propp 具有支持字段的属性,取决于 BindableBasecmd 创建一个原创 2021-07-24 15:48:31 · 3676 阅读 · 1 评论 -
MaterialDesign OpenDialogCommand不生效
只需要将 Button 放 置在 DialogHost:内即可: <materialDesign:DialogHost Grid.Column="2"> <Button Command="{x:Static materialDesign:DialogHost.OpenDialogCommand}"> <Button.CommandParameter原创 2021-07-13 17:26:42 · 633 阅读 · 0 评论 -
SQLite Encryption(加密)问题
刚好项目上有个需求,需要使用sqlite。一顿如下基操后先尝试了System.Data.SQLite 包通过nuget安装后使用如下代码成功运行。using var con = new SQLiteConnection(cs);但是system.data.sqlite官方不支持加密,加密需要调用SEE库。这需要2000$。于是尝试微软官方的Microsoft.Data.Sqlite 库通过nuget 安装Install-Package Microsoft.Data.Sqlite使用如下代原创 2021-07-05 18:02:24 · 3437 阅读 · 8 评论 -
Winform 无边框窗体双击放大缩小
废话不多说,直接上代码(talk is cheap,show me the code) [DllImport("user32.dll")] //Namespace System.Runtime.InteropServices; public static extern bool ReleaseCapture(); //release the mouse capture from a window in the current thread原创 2021-06-29 10:01:37 · 1006 阅读 · 3 评论 -
ef core软删除
原文:https://bit.ly/2Cy3J5f作者:Jon P Smith翻译:王亮声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的。其中可能会去除一些本人实在不知道如何组织但又不影响理解的句子。这篇文章是关于如何使用 EF Core 实现软删除的,即表面上删除了数据,但数据并没有被物理删除,在需要的时候你还是可以把它读取出来的。软删除有很多好处,但也有一些值得注意的问题。这篇文章会教你使用 EF Core 实现一般的软删除和复杂的级联软删除。在此过程中,我还会介绍如何编写.转载 2021-06-11 13:41:04 · 871 阅读 · 1 评论 -
抓住异步编程async/await语法糖的牛鼻子: SynchronizationContext
长话短说,本文带大家抓住异步编程async/await语法糖的牛鼻子: SynchronizationContext引言C#异步编程语法糖async/await,使开发者很容易就能编写异步代码。零散看过很多文章,很多是填鸭式灌输 (有的翻译文还有偏差)。遵守以上冷冰冰的②③条的原则,可以确保我们的异步程序按照预期运作,但是我们常看到违背这2条原则引发的死锁现场。由async/await引起的死锁现场UI例子:点击按钮触发一个HTTP请求,用请求的返回值修改UI控件, 以下代码会引发de.转载 2021-05-29 09:42:37 · 282 阅读 · 0 评论 -
WPF-MenuItem只显示最后一个Icon
我在配置一个ContextMenu,想实现动态后台添加MenuItem。然而我遇到了这个问题:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OwH8y74r-1621672714862)(https://files.mdnice.com/user/10081/7b2653a8-b291-4d47-a2b1-96c8a385b439.png)]无论是写死icon,还是后台赋值,都只有最后一个icon是显示的····经过一番摸索,找到了个解决方案。<Contex原创 2021-05-22 16:40:27 · 1338 阅读 · 0 评论 -
从源码角度解析依赖属性
什么是依赖属性?依赖属性是属性的全新实现,它是在C#属性的基础上包装而成。从源码盘它我们从system.windows 源码,可以注意到因为DependencyProperty类没有公有的构造函数。反而只能使用静态的DependencyProperty.Register()方法创建那我们看看最复杂的Register方法,可以看到有属性名Name,属性类型,拥有者类型,以及默认元数据值以及验证回调函数。我们也可以观察到它调用了个RegisterCommon方法,进行了简单的传参,我们继续看看原创 2021-04-30 16:42:50 · 848 阅读 · 1 评论 -
《深入浅出WPF》-刘铁猛学习笔记——XAML
这里有个目录XAML是什么?导人程序集和引用其中的名称空间XAML的树型结构Attribute (特性、标记、属性)Property (属性)属性赋值字符串赋值使用属性元素( Property Element)进行复杂赋值XAML 注释后记XAML是什么?XAML是微软公司创造的一种开发语言,XAML的全称是 Extensible Application Markup Language,即可拓展应用程序标记语言。它由XML拓展而来,类似的,它的语法以这样标记语法为主,以下例子示例声明一个Button。原创 2021-03-03 11:47:41 · 1236 阅读 · 0 评论 -
码农多年后的个人总结,干货满满,入口甘甜~
本文不是技术文,是个人的从业总结。且对象是指大部分人,文章各要点简洁,相信各位看官不会很累。(我写的很慢,所以你们看的也就不会很快,就不会很累)原创 2021-01-13 11:22:59 · 628 阅读 · 11 评论 -
Fody,告别烦人的INotifyPropertyChanged,最简方式实现通知!
最简方式实现INotifyPropertyChanged,只需3分钟原创 2021-01-30 09:43:11 · 2281 阅读 · 1 评论 -
C# 8.0 可空(Nullable)给ASP.NET Core带来的坑
空引用异常,怕是所有.Net 开发者都遇到的神奇错误,它被发明者称为“十亿美元错误”。为了解决它,引入了C# 8.0可空类型,但是这却给asp.net core带来了一个坑·····原创 2021-01-26 18:55:46 · 4815 阅读 · 0 评论 -
抽象(abstract)类和接口(interface)的相同点和区别
什么是抽象类?什么是接口?他们有什么共同点不同点呢?原创 2021-01-25 11:48:16 · 152 阅读 · 0 评论 -
.Net C# 抽象类
将有相同特性方法的类抽象提取出来的类就是抽象类,抽象类提供默认的实现方法,然后让继承的字类可以直接拥有,从而有效地减少代码量。原创 2021-01-25 11:30:36 · 459 阅读 · 0 评论 -
.Net C# 接口 (Interface)
当我们租房或者买房的时候,我们需要有租房或购房合同,合同内写明双方需要遵守的规则。在代码中,如果双方协作实现一个功能,例如小明实现一个功能给小红调用。如果没有提前沟通好,小红是不知道小明写了哪些方法和属性的。所以在程序开发协作中,也需要一个合同,即语法合同,也就是接口。在合同内声明好双方需要遵守的规则,然后小明按照规则实现,小红按照规则调用。原创 2021-01-25 10:44:04 · 1054 阅读 · 0 评论 -
.Net 5 C# 泛型(Generics)
3分钟保证你理解泛型原创 2021-01-20 13:45:17 · 202 阅读 · 0 评论 -
.Net 5 C# 反射(Reflection)
当我们需要获取一个程序集或者一个类的所有属性(名称、类型等)、方法(名称、类型等)等信息时,我们就需要反射。> 反射就像一个朦胧的镜子,抽象折射一个程序集或者一个类的所有信息。> 反射就像一个朦胧的镜子,抽象折射一个程序集或者一个类的所有信息。> 反射就像一个朦胧的镜子,抽象折射一个程序集或者一个类的所有信息。原创 2021-01-20 12:56:11 · 406 阅读 · 0 评论 -
C # 9.0的record
官方消息: c # 9.0已经过时了!早在五月份,我就在博客中介绍了 c # 9.0计划,下面是该文章的更新版本,以便与我们最终发布的计划相匹配。对于每一个新的 c # 版本,我们都在努力提高常见编码场景的清晰度和简单性,c # 9.0也不例外。这次的一个特别重点是支持数据形状的简洁和不可变的表示。Init-only properties对象初始化器非常棒。它们为类型的客户端创建对象提供了一种非常灵活和可读的格式,特别适用于嵌套对象创建,在嵌套对象创建过程中,可以一次性创建整个对象树。下面是一个简单的原创 2021-01-20 09:06:11 · 348 阅读 · 0 评论