文章封面

C# 自定义事件与委托

委托是C#中存储和调用方法的容器,允许将方法作为参数传递。事件是特殊的委托,实现发布-订阅模式,如按钮点击事件。自定义事件步骤如下:1)定义事件参数类继承EventArgs;2)定义委托或使用内置EventHandler;3)声明事件;4)编写触发方法;5)订阅处理。示例展示温度监控器如何在温度变化时触发事件。内置EventHandler<TEventArgs>可简化代码。委托作为方法容器,事件基于委托实现松耦合通信,使对象能通知变化而无需知道具体处理者。

C#文件上传同时附带参数上传

该代码展示了一个C#实现的HTTP文件上传方法,通过multipart/form-data格式将本地文件与附加表单参数一并提交至指定接口。方法接收文件路径和参数字典,构建包含边界符的请求体,分块写入文件数据和文本参数,设置10分钟超时,最终返回服务器响应。关键步骤包括内存流操作、请求头配置(如Content-Type)及分块数据传输。

文章封面
文章封面

C# 将json字符串转换为键值对形式,用于执行form表单形式的请求

该C#代码定义了一个名为KeyValueCombination的方法,用于将JSON字符串转换为URL编码的键值对格式。方法首先使用JavaScriptSerializer反序列化JSON字符串为字典对象,然后遍历字典中的每个键值对。对于每个键值对,方法对键和值进行URL编码,并根据值类型(数组或普通对象)进行不同处理,最终拼接成标准的URL查询参数格式。处理完成后,移除末尾多余的"&"符号并返回结果字符串。代码涉及System.Web和System.Web.Extensions命名空间,需引用相关库。

C# 录音控制

文章介绍了一个使用C#实现的简单录音功能解决方案。通过调用Windows多媒体接口mciSendString实现音频录制,封装了RecordingAudio类提供开始、停止录音方法和录制进度、完成事件。停止时可选择取消保存文件,完成后返回录音时长、文件路径及状态。配套实现了自定义进度条控件ProgressBarControl,支持背景色、进度值等属性设置。文中还提及了WAV转MP3的格式转换需求,并提供相关开源代码参考。该方案避免了复杂的DirectX实现,简化了C#语音录制功能的开发流程。

文章封面
文章封面

C#利用异步委托完成文件下载并返回

文章介绍了一个C#文件下载工具类FileUtils,通过异步委托实现网络文件下载和本地文件管理。核心功能包括:检查并创建资源文件夹,验证本地文件存在性,异步下载文件到指定路径。下载完成后通过回调返回文件路径,若文件小于18字节则判定为失败。下载过程在非UI线程执行,需注意UI控件操作需切换回主线程。调用时传入URL和回调函数即可使用,回调接收的参数为下载结果路径或null。

C# SQLite通用读写操作方法

该代码片段包含两个C#方法,用于操作SQLite数据库。ExecuteSql方法通过锁定机制执行SQL语句并返回受影响的行数,处理异常后关闭连接。Query方法执行查询语句并返回DataTable结果,同样包含异常处理和连接关闭。两者均使用SQLiteConnection建立连接,确保资源释放。

文章封面
文章封面

C# WPF 的多国语言处理

MultiLanguageLib是一个用于C# WPF应用程序的多语言处理类库。它提供资源字典管理,支持通过DLL引用或直接复制类文件集成到主项目。使用方法包括添加资源字典、配置App.xaml引用默认语言文件、控件绑定字典资源Key等。代码中可初始化多语言资源路径,动态切换语言,并通过TryFindResource方法获取对应语种文本。该项目简化了WPF应用国际化实现流程,支持中英文等多语言切换。

WPF TextBox 允许输入数字及字母的工具类

该工具类提供WPF TextBox的输入限制功能,通过正则表达式控制仅允许输入数字、字母数字组合或带小数点的数字。默认禁用输入法强制使用键盘输入,可拦截粘贴非法字符。使用时创建对象并指定正则规则(如纯数字、数字加字母等),调用Build方法即可实现输入过滤。核心功能包括实时字符校验、粘贴内容过滤和事件自动注销,代码简洁易于集成。

文章封面