【发布时间】:2018-10-05 15:03:07
【问题描述】:
我有一个被一些项目内部使用的 NuGet 包。现在,在重构项目时,我发现了几个命名不当的类。我想知道 C# 中是否有任何方法可以更改类名而不破坏任何内容。
【问题讨论】:
-
增加包的主要版本号并记录重大更改。这就是你所能做的。
-
提供两个名称,弃用旧名称,并在几个主要版本后删除旧名称。
-
@Zereges 应该将其发布为答案:)
-
@Zereges - 我不明白这会如何工作。您必须更改使用这些类型作为参数的所有面向公众的接口,并添加复制功能以在类型之间复制状态。根据正在发生的变化,这可能是一个真正的 PITA。下面是一个简单的例子:
void Update(Kustomer userInfo)和Kustomer现在应该是Customer,这意味着添加一个新类型,但在它使用的任何地方包括一个新方法,包括内部...... -
@Igor 在这种情况下提供
using Kustomer = Customer别名是否有效?
标签: c# backwards-compatibility