从c#

时间:2019-02-27 15:58:18

标签: c# interface abstract-class

我们有以下包含一些方法的界面。

interface MyInterface
{
    string FirstName();
    string LastName();
    string City();
    string Location();
}

,并且此接口已在必需的类中实现。但是,我们只想在特定的类中而不是在其他类中实现Location方法。因此,这将是实现此目标的最佳方法。

我们已经尝试过以下方式

  1. 使用常用方法创建接口。
  2. 创建抽象类并在其中实现接口
  3. 将抽象类中的特定方法写为Virtual
  4. 然后重写实际类中的方法

但是这里的问题是其他方法的实现要在抽象类中进行,而不是在我们想要的实现类中进行。

无论采用哪种方式实现这一目标,所有类都必须相同。

对此有任何帮助。

1 个答案:

答案 0 :(得分:2)

将“ MyInterface”分成两个接口,对于所有您不希望使用City方法的类,它们将实现不使用city方法的示例,例如:

    interface MyInterface1
    {
        string FirstName();
        string LastName();
        string City();
    }

    interface MyInterface2 : MyInterface1 
    {
         string Location();
    }