- 博客(193)
- 资源 (62)
- 收藏
- 关注
原创 Rx.Net 第四章
本章所涵盖的内容几乎会在你创建的每个可观察对象管道中用到:所有可观察对象都实现IObservable接口。要从符合事件模式的事件中创建一个可观察对象(使用的委托接收一个sender和EventArgs),请使用FromEventPattern操作符。您可以使用FromEventPattern操作符的重载,它允许您传递一个对象并指定要从中创建可观察对象的事件的名称。要创建一个只发出一个通知的可观察对象,可以使用observable . return操作符。下一章将扩展你关于创建可观察对象的知识。
2024-04-19 15:42:23 571
原创 Windows中,应用添加到防火墙白名单里面批处理命令
在 Windows 中,你可以使用 PowerShell 脚本或者批处理命令来将程序添加到防火墙白名单中。将上述代码保存为 .bat 文件,然后以管理员身份运行该批处理文件。这将在防火墙中添加一个新规则,允许指定程序的入站连接。将上述代码保存为 .ps1 文件,然后运行 PowerShell 窗口,使用管理员权限运行该脚本。如果你更倾向于使用批处理命令,你可以使用。
2024-04-19 13:33:04 128
原创 Rx.Net 第三章 linq介绍
匿名类型简化了查询,因为它提供了类型的内联创建,您可以使用这些类型来存储查询结果,这些结果应该只在一个范围内可见。您可以使用LINQ进行过滤集合的简单查询,以及涉及将两个集合连接在一起的更复杂的查询。在c#中,您使用方法链技术来构建特定于领域的语言(dsl)来表达您所编程的领域。LINQ使查询集合变得超级简单,它的抽象允许对不同的底层存储库执行相同的查询。延迟执行允许您创建在使用查询结果时执行的查询,而不是在创建查询时执行。要完成方法链接,使用流畅的接口和扩展方法。
2024-04-16 17:56:20 377
原创 RX.Net 第二章 hello Word
要在应用程序中正确使用Rx并使用所有丰富的操作符,您需要学习它们以及将它们组合在一起的技术,这就是本书的全部内容。本章提供了一个简单而强大的例子,你可能在过去做过(或者将来可能会做),并以两种方式解决它:传统的事件风格和Rx风格的事件处理流。您可以在任何类型的应用程序中使用Rx WPF桌面客户端,asp.net网站或简单的控制台应用程序等。Rx提供了许多查询操作符,例如使用Where操作符进行过滤,使用Select操作符进行转换等等。在下一章中,你将学习函数式的思维方式,它与。大多数情况下,您将安装系统。
2024-04-16 15:17:27 433
原创 RX.Net 第一章
在响应式编程中,您使用时变变量来保存值,这些值通过对其依赖项发生的变化做出反应而更改。在下一章中,您将有机会构建第一个Rx应用程序,并将其与用传统的事件处理方式编写相同的应用程序进行比较。在响应式系统中,Rx被放置在消息驱动槽中,就像您希望处理应用程序接收到的消息的方式一样。异步性是响应性最重要的部分之一,因为它允许您更好地使用资源,从而使应用程序响应更快。可观察对象可以发出带有有效负载的通知,在其完成时发出通知,并在出现错误时发出通知。可观察对象是通知的生产者,观察者订阅它来接收这些通知。
2024-04-15 16:30:52 124
原创 WPF 示例自定义的 DataTemplateSelector
在这个示例程序中,我们定义了两种不同的 DataTemplate (Template1 和 Template2),然后创建了一个 CustomDataTemplateSelector 类来根据 DataItem 的 TemplateType 属性选择相应的 DataTemplate。请将此代码片段复制到您的WPF项目中,并确保已定义了对应的ViewModel和数据类型。当然,我可以为您提供一个简单的 WPF 示例程序,其中包含一个自定义的 DataTemplateSelector。
2024-02-24 11:23:50 1068
原创 c#如何判断一个类型是否为数值类型,请给出通用方法
用于判断类型是否为内置的基元类型,同时排除了布尔类型和字符类型。如果一个类型既是内置的基元类型,又不是布尔类型或字符类型,则被认为是数值类型。属性来判断一个类型是否为内置的数值类型。这种方法更加通用,因为它会考虑到未来可能添加的新的数值类型。是的,除了手动列举全部数值类型外,还可以使用。值,表示该类型是否为数值类型。
2024-02-24 10:32:30 567
原创 C# 使用net8.0使用 Pomelo.EntityFrameworkCore.MySql 7.0 报错异常Method not found: ‘Void CoreTypeMappingParame
解决办法使用Pomelo.EntityFrameworkCore.MySql 8.0 ,或者使用项目对应的Pomelo.EntityFrameworkCore.MySql 版本。C# 使用net8.0使用 Pomelo.EntityFrameworkCore.MySql 7.0 会造成版本不兼容报错,
2024-02-22 13:18:59 1093
原创 Wpf中集合对象绑定所在ViewModel的属性
在按钮的 Command 属性中,我们使用了 RelativeSource 来找到 ListBox 的 DataContext(即 ViewModel),并将其中的 ButtonCommand 属性绑定为按钮的命令。要将集合中的对象绑定到 ViewModel 中的 Command,可以使用 ItemContainerStyle 和 Button 的 Command 属性来实现。这样,当你运行程序时,会为每个列表项生成一个按钮,并且按钮点击时会触发 ViewModel 中的 Command。
2024-01-27 17:26:22 685
原创 C#中类型装换
在上述示例中,我们通过反射获取了MyClass类中的MyProperty属性的信息,然后使用Convert.ChangeType()方法将字符串类型的值"10"转换为属性的类型(int),最后使用反射设置属性的值为转换后的值10。在C#中,可以使用Convert.ChangeType()方法进行类型转换。这个方法可以将一个对象转换为指定的类型。
2024-01-27 15:24:51 257
原创 后台代码New出来DataGridTextColumn 动态添加到DataGrain 设置 Margin属性
在上面的示例中,我们创建了一个 DataGridTextColumn 实例,并设置了列头名称。在这个示例中,我们使用了 DataGridTemplateColumn 替代了 DataGridTextColumn,并在 CellTemplate 中使用了一个 TextBlock,然后为 TextBlock 设置了 Margin 属性。你可以根据实际需求调整 Margin 的数值。请注意,在 TextBlock 的 Text 属性中我们使用了 YourPropertyName,你需要将其替换为你实际的属性名。
2024-01-13 13:50:28 461
原创 C# 中 async/await 遇上 forEach 两种写法,是否按照遍历?
在 C# 中,async/await 与 forEach 可以搭配使用,但需要注意的是,forEach 本身不是一个异步操作,它会按顺序同步地遍历集合中的元素,并将每个元素作为参数传递给回调函数。运行以上代码,你会发现 forEach 循环会立即输出 “forEach 循环完成”,而后再一次性输出所有数字,因为 async/await 在 forEach 循环中并不起作用。需要注意的是,对于 forEach 循环中的异步操作,你无法保证它们会以预期的顺序执行,因为它们是并行执行的。
2023-12-29 09:06:46 773
原创 .netcore 控制台程序,在window操作系统中,怎么获取管理员权限运行此程序
中指定管理员权限,因此程序需要重新生成和发布。在程序运行时无法动态获取管理员权限。文件设置为嵌入式资源。
2023-12-20 10:19:44 598
原创 netcore 监听系统时间发生改变事件
0 PC 显示的日期或时间不正确,在「设置」应用中就可以快速、轻松地进行更改。我们可以将 Windows 10 配置为,根据当前位置来确定时间。但这并不总是能正常工作,例如重启 Windows 时,遇到仍然会获取到错误时间的问题。代码中用到的类库 SystemTimeChanged,可以到这里下载:https://download.csdn.net/download/weixin_43542114/88582319。下边可以使用代码监听系统时间发生改变事件,示例代码。
2023-11-30 10:22:34 437
原创 C#中 怎么检测Tcp网线断开?
在 C# 中,如果使用 TcpClient 或 TcpListener 这样的套接字进行通信,并且网络连接断开,不发送心跳是无法立即检测到断开的。当使用 TCP 进行通信时,通常是通过发送和接收数据来维持连接的活跃状态。如果没有数据传输,并且不发送心跳包,那么时间一过,连接就会被认为是空闲的,而不管实际上该连接是否仍然存在。这样,操作系统将自动发送心跳包,以检测连接的活跃性。当使用 C# 进行 TCP 连接时,下面是一些示例代码,演示如何使用各种方法来检测连接是否断开。
2023-11-29 17:52:14 1556
原创 python 通用方法 遍历指定目录下的所有文件(包括子目录下的文件)
【代码】python 通用方法 遍历指定目录下的所有文件(包括子目录下的文件)
2023-11-15 08:49:14 197
原创 VScode 调试go程序报错,需要更改glaunch.json文件
【代码】VScode 调试go程序报错,需要更改glaunch.json文件。
2023-10-30 16:18:12 187
原创 代码大全阅读随笔(十二)完结
同样,子程序中有多于十个的判断点、三层以上的逻辑嵌套,过多的变量,或者其他类联系过去紧密,或者内部代码内聚性不强,都是警告标识。合作发开要求团队程序员之间广福安的沟通,甚至于同计算机的交互,而单人开发则是自我交流,其次才是与计算机。好性格与培养正确的习惯关系甚大,要成为杰出的程序员,先要养成良好的习惯,其他自然水到渠成。最有关系的性格为:谦虚,求知欲,诚实,创造性和纪律,以及高明的偷懒。注意告警信息,将其作为编程疑点,因为编程几乎是纯粹的智力活动。出乎意料的是,小聪明,经验,坚持和疯狂即有助也有害。
2023-10-23 14:13:42 78
原创 代码大全阅读随笔(十一)
针对每个特定的项目,最佳的集成步骤通常是自顶向下,自底向上,风险导向以及其他集成方法的某种组合。针对每个特定的项目,最佳的集成步骤通常是自顶向下,自底向上,风险导向以及其他集成方法的某种组合。源代码应当含有程序大部分的关键信息,只要程序依然再用,源代码比其他资料更能保持更新,故而能将重要信息融入代码是很有用处的。好的代码本省就是最好的说明。增量集成有若干变型,而且-除非项目是微不足道的- 任何一种形式的增量集成都比阶段式集成好。编辑,分析代码质量,重构,版本控制,除错,测试,代码调整。
2023-10-21 15:03:30 203
原创 代码大全阅读随笔(十)
不要为了代码调整而调整,要根据实际项目需求而定。如果在非必要的性能提升上,付出代码可读性,可维护性等为代价,则大可不必。代码调整的利器之一就是良好的子程序分解。短小,定义明确的子程序能够代替多处单独执行相同的操作代码。优化结果在不同的语言,编译器和环境下有很大的差异。如果没有对每一次优化进行测量,你将无法判断优化到底是否有意义。第一次优化通常不会是最好的,即使找到了效果很不错,也不要停下扩大战果的步伐。根据各种情况对出现频率比较高的,判断条件写在前面。将关键影响程序的代码,转化为低级语言编写。
2023-10-09 08:46:29 43
原创 代码大全阅读随笔(九)
相对于代码本身的效率而言,程序的架构,细节设计以及数据结构和算法选择对程序的运行速度和资源占用通常会更大。定量测量需要找出能真正解决程序性能部分,在修改之后,应当通过重复测量修改是提高还是降低了软件的性能。为了性能优化工作做好准备,最佳方式就是在最初代码编写清晰额代码,从而使代码在后续工作中易于理解和修改。在修改中软件的质量要么改进,要么恶化,软件演化的首要法则就是,代码演化应当提升程序的内在质量。重构成功的最后要点再远,安全重构的策略。蕴含哲理的一句话,如果你的坑挖的足够深,你总会看到惊人的宝藏。
2023-09-24 13:33:02 69
原创 代码大全阅读随笔(八)
你可以根据不同的思路来产生把很多测试用例,这些思路包括基础测试,数据流分析,边界分析,错误数据类型以及正确数据类型等。软件领域的质量宝成面向过程的,软件开发与制造业不一样,在这里并不存在会影响最终产品的重复阶段,因此,最终产品的质量受到开发软件所用的过程控制。从长远来看,改善测试过程中最好的办法就是将其规范化,并对其进行评估,然后用从评估中获得的经验和教训来改善这个过程。正确性,可用性,效率,可靠性,完整性,适应性,精确性,健壮性。可维护性,灵活性,可移植性,可测试性,可理解性。
2023-09-23 13:36:14 66
原创 代码大全阅读随笔(七)
循环控制会出现什么样的错误,任何一种答案都可以归结到下面所说的问题之一:忽略或者错误的对循环执行初始化,忽略了对累加变量或者其他与循环有关变量执行初始化,不正确的嵌套,不正确的循环终止,忽略或者错误的增加了循环变量的值,以及用不正确的循环下标访问数组元素等等。表提供了一种复杂的逻辑和集成结构的替换方案,如果你发现自己对某个应用程序的逻辑或者继承树关系感到困惑,那么问问自己是否可以通过一个表来加一简化。保持循环简单的技巧包括:避免使用怪异的循环,减少嵌套层次,让入口和出口一目了然,把内务操作代码放到一处。
2023-09-21 08:19:27 386
原创 代码大全阅读随笔(六)
作为一条普遍性原则,要让程序易于自上而下阅读,而不是让读者的目光跳来跳去,专家认为自上而下的阅读顺序对提高代码可读性最有帮助。为了捕获错误,可以使用case语句中的default子句(默认子句),或者使用if-then-else语句串中最后那个else子句。对于简单的if-else语句,请注意if子句和else子句的顺序,特别是用它处理大量的错误时候,要确认正常情况是清晰的。尽管组织直线型代码是一个相对简单的任务,但代码结构上的一些微妙之处,还是对代码质量,正确性,可读性和可维护性带来影响。
2023-09-17 14:19:55 271
原创 代码大全阅读随笔(五)
数据初始化过程很容易出错,所以请使用本章介绍的方法,来初始化数据,从而避免由于非预期的初始化值而造成的错误。好的变量名是可以提高程序可读性的一项关键要素。当你使用typedef或者其他等价方式创建一个简单类型的时候,考虑是否跟应该创建一个新的类。避免使用全局变量,不只是因为他们很危险,还是因为你可以用其他很好的方式来取代他们。如果你的语言支持,创建自定义类型会使得你的程序更容易修改,并更具有自白的描述性。每当你打算使用结构体的时候,考虑采用类会不会工作的更好。使用相同的变量的语句尽可能的集中在一起。
2023-09-10 14:08:46 396
原创 代码大全阅读随笔(四)
如果留心使用异常,他可以成为程序员们知识工具箱中的一箱有益的补充,同时也应该在异常和其他错误处理手段之间进行权衡比较。关于效率的问题,你主要从稳定的接口和可读的实现这两个角度考虑吗?断言可以帮助人尽早的发现错误,尤其是在大型系统和高可可靠性的系统中,以及快速变换的高层次设计代码决策。你可以利用这一优势在开发中添加有助于更快的排查错误的代码。设计子程序——编写子程序的代码——检查代码——收尾工作——按照需要重复上述步骤。高层次的设计是否足够清新,能给这个类和其中的每一个子程序起一个好的名字吗?
2023-09-09 14:56:10 109
原创 代码大全阅读随笔(三)
子程序的名字是他的质量指示器。如果名字糟糕而且又不准确,那么他就反映不出程序是干什么的,不管怎么样,糟糕的名字都意味着程序需要修改,创建高质量的类,第一步,可能也是最重要的一步,就是创建一个好的接口。创建子程序最重要的目的是提高代码的可管理性,当然也有一些其他好处的理由,节省代码空间,提高可读性,可靠性,可修改性等更为重要一些。编写具有功能上的内聚性的子程序几乎总是可能的,因此把注意力集中于功能上内聚性,从而获得更大的收获。为了实现世界中的对象建模,为抽象的对象建模,降低复杂度,隔离复杂度,隐藏实现细节。
2023-09-05 17:14:02 69
原创 代码大全阅读随笔 (二)
简单参数耦合,当两个模块之间的通过参数来传递,并且所有的 数据都是简单的数据类型(Primitive data type)的时候,这两个模块之间的耦合关系就是简单参数耦合,这种耦合关系是正常的。高内聚,构造分层结构,严格描述契约,分配职责,为测试而设计,避免失误,有意识的选择绑定时间,创建中央控制点,考虑使用蛮力,画一个图,保持设计模块化,语义上的耦合,最糟糕的耦合关系。寻找现实世界的对象,形成一致的抽象,封装实现细节,在可能的情况下继承,信息隐藏,找出容易改变的区域,保持松耦合,探寻通用的设计模式,
2023-08-28 08:42:52 70
原创 代码大全阅读随笔(一)
需求详细秒数软件系统应该做什么,这是达成解决方案的第一步,需求活动也称需求开发,需求分析,需求定义,软件需求,规格书,功能规格书,充分详细色描述需求,是项目成功的关键,它甚至很可能比有效的构建技术更加重要。大多数重要的编程原则:并不依赖特定语言,而依赖于你使用的语言方式,如果你使用的语言缺乏你期望的构件,或者倾向于出现的其他种类问题,那就应该试着去弥补它。在高质量的软件中,你能看到架构的概念的完整性与底层实现之间的关系,实现必须与指导该实现的架构保持一致,并且这种一致性是内在的,固有的。
2023-08-27 13:34:30 91
原创 EFcore 属性上注释值,用于fluentapi配置
下面的示例旨在演示如何使用 Fluent API 完成各种任务,并使你能够复制代码并对其进行自定义,使之适用于你的模型。可以通过两种主要方式将 EF 配置为使用约定之外的其他内容,即注释或 EF Fluent API。注释仅包含 Fluent API 功能的一个子集,因此存在无法使用注释实现的映射方案。使用 Entity Framework Code First 时,默认行为是使用 EF 中的一组约定将 POCO 类映射到表。但有时,你无法或不想遵循这些约定,并且需要将实体映射到约定规定之外的内容。
2023-06-29 11:49:58 271
原创 C# 通过反射 结合容易给字段赋值方法, 备忘
首先,当我们把服务都添加到 IServiceCollection ,接下来会构建一个IServiceProvider, 它能够提供我们程序中所依赖服务的实例,本质上它包装了 IServiceCollection。IServiceProvider会根据程序的要求在运行时解析服务类型的实例,ServiceProvider来保证已解析的服务在预期的生命周期内有效,这个实现设计的非常高效,所以服务的解析速度非常快。构建一个 IServiceProvider。
2023-06-13 10:32:28 101
原创 Automapper转化属性转化拓展方法 备忘
如果多层通用一个类,一则会暴露出每层的字段,二者会使类字段很多,而且会出现很多冗余字段,这种方式是不可取的;如果每层都使用不同的类,则层与层调用时,一个字段一个字段的赋值又会很麻烦。针对第二种情况,可以使用AutoMapper来帮助我们实现类字段的赋值及转换。AutoMapper是一个对象映射器,它可以将一个一种类型的对象转换为另一种类型的对象。AutoMapper提供了映射规则及操作方法,使我们不用过多配置就可以映射两个类。
2023-06-13 09:12:06 169
原创 C# 如何实现对“属性”的扩展(简单实现)
扩展属性(xattrs)提供了一个机制用来将键值对(Key/Value)永久地关联到文件,让现有的文件系统得以支持在原始设计中未提供的功能。根据这个思路,用C#中拓展方法尝试。第一版,使用对象关联,这种方式有点鸡肋,没有直接继承拓展来的痛快。第二版 使用改变思路使用 原类型当做Key。第三版,使用新的字典类型。
2023-05-12 10:00:21 956 1
原创 C#WPF 验证码用户控件
验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是必须只有人类
2022-12-03 09:23:33 325
原创 C#中Wpf常常会用到的两个基类
WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。两个类型用于,属性变化通知,和命令绑定。WPF中必不可少的东西。
2022-12-02 17:39:26 270
原创 C#中WPF 使用依赖注入
所谓依赖注入,是指程序运行过程中,如果需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部的注入。Spring的依赖注入对调用者和被调用者几乎没有任何要求,完全支持对POJO之间依赖关系的管理。上面步骤可以省略,只是在这里提醒下使用wpf的规格。好了完活,这样就可以通过ICO容器注入,启动主窗体。现在对于一个项目来说都是标配了,下面牛刀小试,3.修改App.xaml.cs文件。使用Vs2022创建项目。
2022-11-29 19:55:04 1831
原创 无线 LAN 服务概述
无线 LAN 服务是 Windows Server® 2008 R2 和 Windows Server® 2008 中的一项功能,可用于启用无线 WLAN 自动配置服务,以及配置 WLAN 自动配置以自动启动。使用此设置,管理员可以指定将 WLAN 自动配置服务用于配置运行 Windows® 7、Windows Vista、Windows Server 2008 R2 或 Windows Server 2008 的客户端,以及将这些客户端连接到无线网络。无线 LAN 服务和 WLAN 自动配置服务。
2022-11-21 14:44:06 874
WebApplication_GrpcServer.zip
2022-01-07
thriftSoft.rar
2021-11-16
C#MySQL各个版本驱动库Assemblies.zip
2021-07-30
NPOI 2.3.0.0.zip
2021-07-06
VB生成标准Dll.zip
2021-05-26
netcore,netFramework,监听系统时间发生改变,PC 显示的日期或时 SystemTimeChanged.7z
2023-11-30
C# 如何实现对“属性”的扩展
2023-05-12
Java编程大Android 应用 Apk自动升级
2022-10-31
python最新安装包-3.10.7-amd64.zip
2022-09-19
Rust编译器是在MIT License 和 Apache License 2.0双重协议声明下的免费开源软件
2022-09-19
wasm-tools A Bytecode Alliance project Rust tooling for low-lev
2022-09-19
ActorSim.zip orelans示例
2022-09-16
com0com是windows内核模式下的虚拟串口驱动程序. 解压密码:123
2022-09-16
Orleans.Redis刚才翻看Orleans的官方网站,发现除了大家关注比较多的"Step-by-step Tutorial
2022-06-24
Emgu CV是OpenCV图像处理库的跨平台.Net包装器
2022-03-20
ruby安装包,window安装包
2022-03-19
Spring.NET应用实例,ICO依赖注入
2022-01-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人