C#与静态方法的接口


C# Interfaces with static methods

本问题已经有最佳答案,请猛点这里访问。

这是我的界面:

1
2
3
4
5
6
7
interface IComandos<T>
{
    void Inserir();
    IList<T> Pesquisar(string termo);
    void Editar();
    void Excluir();
}

在这里,一个实现接口的类:

1
2
3
4
5
6
7
8
9
10
 class Partido : IComandos<Partido>
        {
            public string Nome { get; set; }
            public string Sigla { get; set; }
        ...

    public IList<Partido> Pesquisar(string termo)
        {
            throw new NotImplementedException();
        }

问题:我需要我的"pesquisar"方法是静态的。我该怎么做?我真的需要我的方法来这样工作->partdo.pesquisar("something");


From MSDN Interfaces(C 355;Programming Guide):

An interface cannot contain constants, fields, operators, instance
constructors, destructors, or types. It cannot contain static members.
Interfaces members are automatically public, and they cannot include
any access modifiers.

所以答案是:不,你不能在界面上定义静态成员。