c# - 使用空父类只是对其他类进行分组。有更好的方法吗?

标签 c# oop coding-style

我有几个概念上属于一层的类。它们没有共同的属性,这就是为什么它们不需要从某些基类继承的原因。

我还有一些处理这些类的方法。其中一些是以下样式的模板:

public SomeClass
{
    public void SomeMethod<T> (T argument) where T : BaseClass
    {
        /* Do something */
    }
}

所以我使用这个 WHERE 关键字只是为了保护代码(我想是来 self 自己),这样我就不会错误地向这个方法提供其他东西。

自然而然地,我让那些其他类派生自 BaseClass,它是空的并且除了对其他类进行分组之外没有其他目的(至少目前是这样)。

这可能不是什么好方法,但无论如何我都在使用它。

有更好的方法吗?

编辑:经过考虑,我决定不采用这种方法,只是删除了该基类。没有它就足够了。无论如何,我无法使代码绝对完美,不需要的东西越少越好。

最佳答案

使用标记(空)接口(interface)而不是基类:

public void SomeMethod<T> (T argument) where T : ISomeInterface

关于c# - 使用空父类只是对其他类进行分组。有更好的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/807401/

相关文章:

java - 在不依赖框架的情况下理解 java 中的依赖注入(inject)。它在纯 Java 代码中是什么样子的?

java - Java 中的递归 Set 方法 - Perl 中的默认变量?

python - Django 编码风格 : Should I be using class decorators here?

c++ - 如何在不使用 'using' 的情况下缩短 C++ 头文件中的 namespace 缩进?

python - Python 之禅 vs with 语句——哲学思考

c# - 使用 C# 读取文件的创建最后修改时间戳

C#:查询线程的状态

c# - 从 C# 调用 powershell cmdlet

c# - 如何防止终端(Windows-CE)在 5 分钟后关闭

java - 抽象方法中的共享功能