草庐IT

dotnet-aspnet-codegenerator

全部标签

dotnet 用 SourceGenerator 源代码生成技术实现中文编程语言

相信有很多伙伴都很喜欢自己造编程语言,在有现代的很多工具链的帮助下,实现一门编程语言,似乎已不是一件十分困难的事情。我利用SourceGenerator源代码生成技术实现了一个简易的中文编程语言,核心原理是将中文编程语言翻译为C#语言,从而完成后续的所有对接,完成了最简单的构建和运行。本文将告诉大家这个有趣的方式是如何实现开始之前,先给大家看看效果这是我设计的csg格式(ChineseprogramminglanguagebySourceGenerator)的中文编程语言,设计上完全参考(抄袭)了中文宏的实现方式。原本我是考虑抄袭易语言的,但是易语言更贴近是VB系的方式(?似乎也不能这么说)感

AspNet goto 语句

goto语句可以无条件转移到程序中的标签指定的位置,由标识符加上冒号构成,语法如下:goto标签名;代码块1;标签名:代码块2;例子://////例子:使用goto///staticvoidSimple1(){loop:varnum=newRandom().Next(0,10);Console.WriteLine($"num:{num}");if(num%2==0)//如果是偶数,则跳过中间代码,直接运行jump标签后的代码gotojump;Console.WriteLine("==Coding==");jump:Console.WriteLine("HelloWorld!!!");if(nu

AspNet goto 语句

goto语句可以无条件转移到程序中的标签指定的位置,由标识符加上冒号构成,语法如下:goto标签名;代码块1;标签名:代码块2;例子://////例子:使用goto///staticvoidSimple1(){loop:varnum=newRandom().Next(0,10);Console.WriteLine($"num:{num}");if(num%2==0)//如果是偶数,则跳过中间代码,直接运行jump标签后的代码gotojump;Console.WriteLine("==Coding==");jump:Console.WriteLine("HelloWorld!!!");if(nu

dotnet C# 使用 Vortice 支持 Direct2D1 离屏渲染

本文告诉大家如何使用Vortice进行D2D的离屏渲染功能,本文将在一个纯控制台无窗口的应用下,使用Direct2D1进行离屏绘制,将绘制结果保存为本地图片文件本文属于使用Vortice调用DirectX系列博客,也属于DirectX系列博客,本文属于入门级博客,但在阅读本文之前,期望大家了解了DirectX的基础概念本文使用的Vortice是SharpDx的代替品,是对DirectX的底层C#封装。使用Vortice底层库,能让C#代码比较方便的和DirectX对接。尽管本文使用的是Vortice库来调用DirectX相关的接口,但不代表着只有Vortice库能做此实现,可以将Vortice

dotnet C# 使用 Vortice 支持 Direct2D1 离屏渲染

本文告诉大家如何使用Vortice进行D2D的离屏渲染功能,本文将在一个纯控制台无窗口的应用下,使用Direct2D1进行离屏绘制,将绘制结果保存为本地图片文件本文属于使用Vortice调用DirectX系列博客,也属于DirectX系列博客,本文属于入门级博客,但在阅读本文之前,期望大家了解了DirectX的基础概念本文使用的Vortice是SharpDx的代替品,是对DirectX的底层C#封装。使用Vortice底层库,能让C#代码比较方便的和DirectX对接。尽管本文使用的是Vortice库来调用DirectX相关的接口,但不代表着只有Vortice库能做此实现,可以将Vortice

支持 dotnet 6 的 dnSpy 神器版本

官方的dnSpy在2021时,由于某些吃瓜的原因wtfsck将dnSpy给Archived掉,在大佬被哄好之前,预计是不再更新。最新官方版本对dotnet6的支持较弱,对于很多dotnet6应用都无法成功调试,附加调试上去将会让应用卡住。好在dnSpy是开源的,也刚好lsj大佬改得动,于是改了一个支持dotnet6的版本什么是dnSpy神器?请看神器如dnSpy,无需源码也能修改.NET程序-walterlv我现在使用最多的调试工具,除了VisualStudio之外,就是dnSpy工具了。使用dnSpy可以让我方便调试用户端的应用。在完成了将团队里面最大的项目升级到dotnet6时,就在升级过

支持 dotnet 6 的 dnSpy 神器版本

官方的dnSpy在2021时,由于某些吃瓜的原因wtfsck将dnSpy给Archived掉,在大佬被哄好之前,预计是不再更新。最新官方版本对dotnet6的支持较弱,对于很多dotnet6应用都无法成功调试,附加调试上去将会让应用卡住。好在dnSpy是开源的,也刚好lsj大佬改得动,于是改了一个支持dotnet6的版本什么是dnSpy神器?请看神器如dnSpy,无需源码也能修改.NET程序-walterlv我现在使用最多的调试工具,除了VisualStudio之外,就是dnSpy工具了。使用dnSpy可以让我方便调试用户端的应用。在完成了将团队里面最大的项目升级到dotnet6时,就在升级过

聊聊 dotnet 7 对 bool 与字符串互转的底层性能优化

本文也叫跟着StephenToub大佬学性能优化系列。大家都知道在.NET7有众多的性能优化,其中就包括了对布尔和字符串互转的性能优化。在对布尔和字符串的转换的性能优化上,有着非常巧妙的思路,值得写篇博客记录在PerformanceImprovementsin.NET7-.NETBlog这篇官方开发博客里面提到了dotnet7的各个方面的性能优化,其中就包括了本身的主角,对bool与string互转的性能优化。此优化的核心实现代码请参阅https://github.com/dotnet/runtime/pull/64782在将"True"和"False"字符串和bool布尔互相转换时,假定不使

聊聊 dotnet 7 对 bool 与字符串互转的底层性能优化

本文也叫跟着StephenToub大佬学性能优化系列。大家都知道在.NET7有众多的性能优化,其中就包括了对布尔和字符串互转的性能优化。在对布尔和字符串的转换的性能优化上,有着非常巧妙的思路,值得写篇博客记录在PerformanceImprovementsin.NET7-.NETBlog这篇官方开发博客里面提到了dotnet7的各个方面的性能优化,其中就包括了本身的主角,对bool与string互转的性能优化。此优化的核心实现代码请参阅https://github.com/dotnet/runtime/pull/64782在将"True"和"False"字符串和bool布尔互相转换时,假定不使

dotnet 读 WPF 源代码笔记 为什么自定义的 UserControl 用户控件不能跨程序集继承

从设计上,用户控件UserControl就不是一个合适用来多次继承的类型,更不要说进行跨程序集继承自定义的UserControl用户控件。对于大部分的用户控件来说,都是采用组合现有的控件来实现的功能,本身应该被当成一个模块来进行使用。在WPF框架里面,从框架层阻止了开发者对自定义的UserControl用户控件跨程序集继承的逻辑,一旦尝试进行跨程序集继承,将在运行时抛出异常。本文将从源代码的角度告诉大家WPF框架是如何阻止跨程序集继承先来写一些演示使用的代码,新建一个WpfLibrary1项目用来存放自定义的用户控件。在WpfLibrary1项目里面新建一个UserControl1.xaml的