c# - 具有不同参数的接口(interface)方法

标签 c# interface

我有一个这样的界面:

public interface ICompleteable 
{
    public void Complete();
}

但是,我想使用具有不同参数的方法来扩展类:

public class CompleteableClassA : ICompleteable 
{
    public void Complete(string name) { ... }
}

public class CompleteableClassB : ICompleteable
{
    public void Complete(string email, string password) { ... }
}

从具有不同参数的接口(interface)扩展方法的好方法(或者更好的模式?)是什么?

最佳答案

创建一个封装参数的类,并在需要时扩展该类:

public class CompleteParameters
{
  string parm1;
  // whatever you want
};

public class CompleteParametersTwo : CompleteParameters
{
  string parm2;
};


public interface ICompleteable 
{
    public void Complete(CompleteParameters parms);
}

关于c# - 具有不同参数的接口(interface)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22404403/

相关文章:

c# - 调用基本方法而不是覆盖

c# - 将屏幕坐标转换为复数坐标

Clojure 访问 Java 接口(interface)常量

c# - 为什么 C# 允许从 "new Shell32.Shell()"中的接口(interface)构造对象?

java - 如何使用接口(interface)从 Activity 回调回 fragment

c# - 图像按钮中的 asp.net 图像保持静止

c# - 将 double 值导出到 CSV

c# - 在 C#.net 中启动一个与父安全上下文相同的线程

c# - 在泛型接口(interface)中实现可空类型

java - 实现接口(interface)的类列表