c# - 静态方法可以在.NET中实现接口(interface)吗

标签 c# .net inheritance

<分区>

Possible Duplicate:
Why Doesn’t C# Allow Static Methods to Implement an Interface?

我有这样的代码说我不能实现静态方法:

public static class AuxiliaryHelper : IAuxiliaryHelper
{
    /// <summary>
    /// Writes the response.
    /// </summary>
    /// <param name="jsonObj">The json object that gets turned in JSON and written out.</param>
    public static void WriteResponse(this object jsonObj)
    { ....

我能得到一个接口(interface)吗?

最佳答案

简答:否。

更长的答案:

这个概念真的没有任何意义。接口(interface)的要点是定义一个基类型来描述各种实现的契约。我可以使用 IFoo 的静态类型声明一个变量,它告诉编译器我不知道这在运行时是什么类型,但我向你保证它会有一组特定的方法。 - 因此,编译器会让您调用这些方法,这些方法将在运行时解析。

一个静态方法总是绑定(bind)到一个且只有一个类,所以没有实例可以引用。

关于c# - 静态方法可以在.NET中实现接口(interface)吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14572778/

相关文章:

c# - 如何从 asp :Repeater? 循环遍历项目模板中的项目

c# - 如何调试挂起的 WPF 应用程序?

c# - 为什么这个短程序永远不会完成?

c# - 检查字符是否是字母

.net - NUnit 测试在 OpenCover 中失败

c++ - 如何创建一个不能被其他类继承的类?

c# - Azure 存储表返回异常 400 错误请求

c# - XmlSerializer 不会序列化 IEnumerable

php - 目的是什么或将 protected 功能与做同样事情的公共(public)功能包装在一起?

javascript - Ext 继承 - 无法从基类/抽象类获取静态值