我可以将参数从一种方法定义到另一种方法

Wiz*_*ard 1 c#

我正在设计一个接口方法(a),它接受另一个方法(b)的参数,所以如果该方法(b)改变,(a)也将改变,而我不必更新它.这可能吗?

我将尝试使用以下代码进行解释

带参数的方法我想调用:

public int AddUser(string name, string description)
{
    ...
    return userID;
}
Run Code Online (Sandbox Code Playgroud)

然后我有两种方法,

public void AddCustomerUser(int customerID, int UserID)
{
    //Do stuff
}

public void AddCustomerUser(int customerID, (string name, string description)<- these come from AddUser method?)
{
    AddUser(name, description); <- these parameters come from what I'm trying to do

}
Run Code Online (Sandbox Code Playgroud)

我想要实现的目标是什么?

Dmi*_*nko 7

我宁愿为这些参数实现(提取)一个:

 (string name, string description) -> class
Run Code Online (Sandbox Code Playgroud)

班级本身就是这样的

public class User {
  ...
  public String Name {...}
  public String Description {...}
}
Run Code Online (Sandbox Code Playgroud)

方法将是

  public int AddUser(User user);

  public void AddCustomerUser(int customerId, User user);
Run Code Online (Sandbox Code Playgroud)

所以它是可以改变的 User,而不是方法.

您可以进一步实现另一个类,CustomerUser:

  public class CustomerUser: User {
    ...
    public int CustomerId {...}
  }
Run Code Online (Sandbox Code Playgroud)

结合两种方法为一个:

  public int AddUser(User user) {
    CustomerUser cm = user as CustomerUser;

    if (cm != null) {
      int customerId = cm.CustomerId;
      ...
    }
  }
Run Code Online (Sandbox Code Playgroud)