[英]Use default value with C# method overload
實現這一目標的最佳方法是什么:我有一個 class 和 2 個方法重載,我從中創建了 n object。 如果我定義 b 它將使用,如果不是默認值。 在哪里/如何使用這個默認值而不在 object 中永久更改它。 我所做的是以下,但必須有一個更簡單的方法。
.
.
.
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
}
上下文並不完全清楚,所以我不確定我是否正確理解了這個問題。 具體來說, 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);
}
編輯:這也假設原始代碼中的那些“..do something..”塊是相同的並且只完成一次。 如果不是,那么這將更加復雜。
添加可選參數
public void Press(int a , int new_b = 100)
{
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.