如何更改公共方法签名以及有哪些风险?

时间:2016-09-04 07:57:34

标签: c# methods rename public

我有一个旧方法很少被第三方客户使用,我想改变它的签名(主要是重命名)。

我该怎么做?有什么风险?有什么真正的优势吗?

一个简单的例子:

.loginButton {
    width: 92%;
    background: #ffffff;
    border: 1px solid #4dbcb8 !important;
    margin-top: 30px;
    height: 42px;
    line-height: 40px;
    position: absolute;
    top: 132px;
    color: #14192f !important;
    border-radius: 3px !important;
    font-size: 12pt !important;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.loginButton:hover {
    color: #fff !important;
    font-weight: 400 !important;
    transition: background .7s ease-out;
    background: linear-gradient(to right, #fff 50%, #4dbcb8 50%);
    background-position: right bottom;
    background-size: 200% 100%;

}

更改为

Class Program
{
    public void OldMethodName(var oldVarName)
    {
        //Do something
    }
}

1 个答案:

答案 0 :(得分:3)

当您的API公开使用时,您应该分两个阶段进行重构:

  • 发布包含两个API的版本 - 此版本的API应该使新方法可用,并且弃用旧方法。这将为您的客户提供迁移时间。
  • 经过一段时间的等待后,发布已删除弃用方法的版本 - 如果可能,请与您的客户协调此版本,以确保他们已迁移到使用新方法。

有关如何弃用方法的信息,请参阅this Q&A

除了修复当前或潜在的命名冲突之外,更改公共方法的签名没有任何优势。