首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么C#不允许静态方法来实现一个接口?

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

提问于 2017-12-25 17:38:05
回答 2关注 0查看 1.3K

为什么C#这样设计?

据我所知,一个接口只描述行为,并描述一个实现特定行为的接口类的契约义务。

以下是我想到的一个例子:

代码语言:txt
复制
// These items will be displayed in a list on the screen.
代码语言:txt
复制
public interface IListItem {
代码语言:txt
复制
  string ScreenName();
代码语言:txt
复制
  ...
代码语言:txt
复制
}
代码语言:txt
复制
代码语言:txt
复制
public class Animal: IListItem {
代码语言:txt
复制
    // All animals will be called "Animal".
代码语言:txt
复制
    public static string ScreenName() {
代码语言:txt
复制
        return "Animal";
代码语言:txt
复制
    }
代码语言:txt
复制
....
代码语言:txt
复制
}
代码语言:txt
复制
代码语言:txt
复制
public class Person: IListItem {
代码语言:txt
复制
代码语言:txt
复制
    private string name;
代码语言:txt
复制
代码语言:txt
复制
    // All persons will be called by their individual names.
代码语言:txt
复制
    public string ScreenName() {
代码语言:txt
复制
        return name;
代码语言:txt
复制
    }
代码语言:txt
复制
代码语言:txt
复制
    ....
代码语言:txt
复制
代码语言:txt
复制
 }

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档