Sco*_*and 3 .net c# namespaces .net-assembly visual-studio
我正在考虑在自定义框架的命名空间中使用带变音标记的字符(例如,ō).这个想法已经成为区分产品的一种方式,但我想确定这不是一个坏主意,如果有任何关于它的东西会在稍后再次出现.我没有看到在我的搜索中使用特殊字符的命名空间的其他示例,也没有关于此主题的任何类似讨论,这让我暂停继续沿着这条路走下去.
我最初也在考虑用变音符号命名程序集,但我遇到的第一个showstopper是试图对程序集进行数字签名.我无法在命令提示符中显示特殊字符,因此我收到了无效输入错误.也许还有另一种解决方法吗?
我意识到,它使得在Visual Studio中输入命名空间更具挑战性.然而,我并不认为这是一个主要问题,因为角色将接近我正在使用的词的末尾,这个词将是相当独特的,并且使用IntelliSense这不应该是一个大问题.
请考虑以下示例,包含在程序集Macron.dll中:
namespace Macr?n.Library
{
public class MyLibrary
{
public string MyProperty { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
生成和使用此Macron.dll似乎没有问题,并且没有区分此示例Macrōn.Library命名空间的问题.文件,文件夹,项目和解决方案名称Macrōn似乎没有引起任何问题,一切似乎与源代码控制没有任何问题.
在程序集和命名空间中使用变音符号时我缺少的任何其他注意事项或事项?有关绕过我的问题签署大会的任何想法?这种方法是否会失败?是否真的不值得实施,因为它可能令人困惑或难以/模糊使用?
这将变成很多工作后来撤消,所以我想知道在我深入研究这个之前我是否在自己脚下射击.
谢谢.
我想确定这不是一个坏主意,如果有任何关于它的东西会在稍后再回来咬我.
这是有效的.许多混淆器改变命名空间/类型以具有unicode字符,其中一些甚至是不可打印的,以使逆向工程更加困难.
话虽这么说,如果这是其他人会消费的公共框架,我会劝阻它.这将迫使使用命名空间的任何人将其源文件保存为Unicode/UTF8,如果不这样做,则ō字符可能会被替换为?
.然后它就不再编译了.
阿列克谢也做了很好的评论.我不知道如何键入ō字符而不是复制和粘贴它.这肯定会减慢我的速度.