将方法标记为已过时,同一类内的调用除外

isp*_*iro 2 .net c# visual-studio

我只想将一个方法标记为“已过时”,仅适用于来自其类之外的调用者,同时让其类中的方法在不发出警告的情况下调用它。

那可能吗?

Ric*_*nte 7

您可以将方法内容提取到新的私有方法中。在内部,您将使用私有的。

public class YourClass
{
    [Obsolete]
    public void YourMethod()
    {
        YourMethodLogicExtractedToPrivateMethod();
    }

    private void YourMethodLogicExtractedToPrivateMethod()
    {
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)