如何重载方法

本文关键字:方法 重载 何重载 | 更新日期: 2023-09-27 17:56:58

我已经环顾四周,我了解如何重载构造函数(XNA C#),但就我的生活而言,我找不到重载方法的示例。具体来说,我想调用一个具有两个或三个参数的方法。如果我使用三个参数调用它,那么三个参数方法需要调用两个参数方法,然后做一些额外的工作。如果它是一个构造函数,它看起来像这样;

public SpriteSheet(string a_sheet, string a_name)
{
    ...
}
public SpriteSheet(string a_sheet, string a_name, Color a_color):this(a_sheet, a_name)
{
    ...
}

提前感谢您的帮助。

如何重载方法

你需要

从方法的主体中调用第一个方法second

public void SpriteSheetMethod(string a_sheet, string a_name)
{
 ...
}
public void  SpriteSheetMethod(string a_sheet, string a_name, Color a_color)
{
    SpriteSheet(a_sheet, a_name);
}

理想的编码方式不是在每个构造函数中都有逻辑,而是应该从其他构造函数调用具有 Max 参数的方法。

这边

public SpriteSheet(string a_sheet, string a_name)
{
    SpriteSheet(a_sheet, a_name, null);
}
public SpriteSheet(string a_sheet, Color a_color)
{
    SpriteSheet(a_sheet, null, a_color);
}
public SpriteSheet(string a_sheet, string a_name, Color a_color)
{
      // Your Logic of constructor should be here.
}

您可以使用具有默认值参数的方法,而不是使用"重载":

public SpriteSheet(string a_sheet, string a_name="", Color a_color=Color.AliceBlue)
{
      // Your Logic should be here.
}