相关疑难解决方法(0)

为什么C#不允许静态方法实现接口?

为什么C#这样设计?

据我所知,接口只描述行为,并且用于描述实现某些行为的接口的类的合同义务.

如果类希望在共享方法中实现该行为,为什么不应该这样做呢?

这是我想到的一个例子:

// These items will be displayed in a list on the screen.
public interface IListItem {
  string ScreenName();
  ...
}

public class Animal: IListItem {
    // All animals will be called "Animal".
    public static string ScreenName() {
        return "Animal";
    }
....
}

public class Person: IListItem {

    private string name;

    // All persons will be called by their individual names.
    public string ScreenName() {
        return name;
    }

    ....

 }
Run Code Online (Sandbox Code Playgroud)

c# oop language-features

435
推荐指数
9
解决办法
18万
查看次数

为什么在类中实现的C#接口方法必须是公共的?

我有一个继承接口的类.接口成员方法是在我的类中实现的,没有访问修饰符(因此,默认情况下它是私有的).

我收到错误"无法实现接口成员,因为它不公开".

为什么不允许这样做?我不能覆盖辅助功能吗?

c# inheritance interface class

23
推荐指数
3
解决办法
3万
查看次数

标签 统计

c# ×2

class ×1

inheritance ×1

interface ×1

language-features ×1

oop ×1