CLR是否具有静态接口?

Don*_*Ray 3 .net c# clr

如果是这样,为什么你不能这样做:

public interface IParsable
{
    static IParsable Parse(string s);
    static bool TryParse(string s, out IParsable);
}
Run Code Online (Sandbox Code Playgroud)

在C#?

编辑:或者,或者:

public interface IParseable<T>
{
    static T Parse(string s);
    static bool TryParse(string s, out T);
}
Run Code Online (Sandbox Code Playgroud)

编辑#2:我已经通过尝试使用IParsable来了解我的方式的愚蠢,正如下面许多人所建议的那样.我的例子如下.当然,没有办法解决对TryParse的调用......

public IParsable ReadFromKeyboard()
{
    IParsable ToReturn;
    bool FirstTry = false;
    bool Success;
    do
    {
        if (!FirstTry)
            DisplayError();
        AskForInput();

        Success = IParsable.TryParse(Console.ReadLine, out ToReturn);
        FirstTry = false;
    } while(!Success)

    return ToReturn;
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 5

不,CLR没有静态接口这样的东西.我推测,他们会为泛型类型的限制是有用的,但是这是唯一的使用,我可以看到他们...否则你会如何使用 IParsable你的榜样?你会如何传递能够解析它的类型?

有关我正在设想的更多详细信息,请参阅此博客文章.