Codync
免费开源的 1:1 Grok Bot 与 Muse 替代方案。可在 iPhone、Mac 或 Linux 桌面上将 Claude 代码、Codex、Cursor 以及 40 多个编码代理作为持久机器人使用。支持群组聊天、线程、应用。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A tiny library that generates the human-readable name of any System.Type in C# notation
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗MikeNakis.CSharpTypeNames is a tiny library that generates human-readable dotnet type names in C# notation.
To understand what problem this library solves, see the following blog post:
MikeNakis.CSharpTypeNames exposes a single extension method on System.Type which can be used as a universal replacement for the Name and FullName properties of System.Type.
The method accepts an optional parameter which can be used to customize the generated name. For example, you can choose:
System.Nullable<T> to be replaced with T?System.ValueTuple<T1,T2> to be replaced with (T1,T2)It works pretty well. I do not know of any cases that it does not handle correctly.
The test project exercises this library against a wide array of test cases, many of which are quite creative, and they are all handled flawlessly.
The drill project exercises this library against 13K types (and their nested types) in the DotNet SDK, and it handles them all flawlessly too.
This gives sufficient reason to believe that MikeNakis.CSharpTypeNames works correctly.
MikeNakis.CSharpTypeNames is quite efficient:
StringBuilder instead of string concatenation.The MikeNakis.CSharpTypeNames.Drill project takes less than 30 milliseconds to generate the human-readable names of 13K types found in the DotNet SDK.
The dll is less than 10 kilobytes.
MikeNakis.CSharpTypeNames does not have any dependencies.
It targets netstandard2.0, so you can use it not only in projects targeting netcore, but also in projects targeting netframework.
(The test and drill projects target net8.0 and do have a few dependencies each, but that is irrelevant.)
using MikeNakis.CSharpTypeNames.Extensions;
string typeName = typeof( int ).GetCSharpName();
This project is still in an early state of development, and I want to retain the ability to refactor it as I see fit, so, for now:
No License. (All rights reserved.)
For more information, see LICENSE.md
This project is written using my very own™ coding style.
More information: michael.gr - On Coding Style
Cover image: The MikeNakis.CSharpTypeNames logo, by Mike Nakis.