gpt4 book ai didi

c# - 用于命名旨在替换现有 API 的 C# 类/方法的建议

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:41:03 26 4
gpt4 key购买 nike

撇开冗长的解释不谈,我有一种情况需要基本上重新实现 .NET 框架类,以便以与继承或组合/委托(delegate)策略不兼容的方式扩展行为。问题不在于我要采取的行动是否是你会做的或推荐的,而是命名/编码风格的问题。

是否存在用于命名类和方法的范例,这些类和方法具有与现有类或方法相同的功能以及 C++ 中存在的 ClassEx/MethodEx 约定?

[编辑]我知道为此选择好名字很重要......我还没有写一行代码,而是花时间思考我将要进行的事情的后果,其中包括寻找一个清晰的,描述性的,名称,同时尽量简洁。问题是我想到的名字不是非常简洁。[/编辑]

最佳答案

以下是我在 .NET Framework 本身中看到的方式:

  1. 给它起个稍微不同的名字,但不要使用任何特定的后缀。例如,引入 System.TimeZoneInfo 以取代 System.TimeZone

  2. 将它放在另一个命名空间中。例如,WPF Button 位于 System.Windows 而不是 System.Windows.Forms

  3. 用数字作为后缀。例如 X509Certificate2X509Certificate。 (这种做法在 COM 接口(interface)中很常见,但在 .NET 中已失宠。)

请注意,TimeZoneInfo 的命名是 Microsoft 正面解决这个有争议的命名问题的公开案例。见和http://blogs.msdn.com/kathykam/archive/2007/03/28/bye-bye-system-timezone2-hello-system-timezoneinfo.aspxhttp://blogs.msdn.com/kcwalina/archive/2006/10/06/TimeZone2Naming.aspx获取极好的信息。

关于c# - 用于命名旨在替换现有 API 的 C# 类/方法的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1810991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com