c# - 没有实现的 C# 类如何有效?

标签 c# .net class

<分区>

我在现有代码库中偶然发现了这个类:

[Serializable]
public class PillowFight
{
    public PillowFight(object providedObject);

    public object providedObject { get; }
    public Dictionary<string, PillowData> Properties { get; }

    public PillowData GetPillowByName(string pillowName);
    public void SetPillowValue(string pillowName, object value);
}

由于构造函数 GetPillowByName 和 SetPillowValue 上缺少实现,我不希望它编译,因为它不是抽象的或接口(interface)。这个有效吗?为什么要这样做,有什么好处?

最佳答案

不,这是无效的。在 Visual Studio 中使用“转到定义 (F12)”功能时,您可能已经看到了这一点。如果源代码在另一个程序集中,它只会显示大纲,而不显示实际代码。

参见对应的dotnetfiddle (不编译)。

错误:

PillowFight.PillowFight(object)' must declare a body because it is not marked abstract, extern, or partial

关于c# - 没有实现的 C# 类如何有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25162563/

相关文章:

.net - 'int GetHashCode' 是不是有点短视?

javascript - 在 javascript 中定义属性方法的正确模式 "class"

c++ - C++ 中的抽象类帮助

java - 为什么这会导致错误 - Java 方法中的类

c# - ASP.NET GridView - 控件在内容页面中移动

c# - Visual Studio - 继承控件的新 "default"属性值

c# - 将 Enum 转换为 uint

c# - 如何取消订阅 C# 中特定类的事件的所有处理程序?

c# - 在页面中显示产品详细信息

c# - 在单个语句中为多个列设置默认值