在C#方法重载中使用默认值

问题描述 投票:0回答:2

实现此目标的最佳方法是:我有一个带有2个方法重载的类,我从中创建了n个对象。如果我定义b,它将使用它,如果不是默认的话。在哪里/如何使用此默认值,而不在对象中永久更改它。我所做的是以下操作,但必须有更简单的方法。

.
.
.
private int b = 100;
private readonly int defualt_b = 100;

public void Press(int a)
{   
...do something...
   Send(a, b);
}

public void Press(int a int new_b)
{    
...do something...
    b = new_b; //set b to be used
     Press(a);
    b = default_b; //reset back to its default value
}
c# overloading
2个回答
1
投票

上下文尚不完全清楚,所以不确定我是否正确理解了该问题。具体来说,private int b是否在其他任何地方使用,因此需要设置为某些特定值?还是仅仅是一个助手领域?如果是后者,则只需更改两个重载之间的依赖关系即可:

private const int DefualtB = 100;

public void Press(int a)
{   
   Press(a, DefualtB);
}

public void Press(int a int new_b)
{    
   ...do something...
   Send(a, new_b);
}

编辑:此外,这还假定原始代码中的那些“ ..做某事..”块是相同的,并且执行一次。如果不是,那么情况会更加复杂。


© www.soinside.com 2019 - 2024. All rights reserved.