【问题标题】:Does this interface already exist in the standard .NET libraries?此接口是否已存在于标准 .NET 库中?
【发布时间】:2012-10-31 22:46:03
【问题描述】:

我发现自己需要一个简单的通用接口,我编写了它,但结果证明它几乎是世界上最简单的接口。我想知道它是否已经以其他名称存在。我只是想确保我不会重新发明已经包含在 .NET 框架中的东西。

interface IReceiver<T>
{
   void Receive(T obj);
}

我真的找不到一个很好的 .NET 附带的“标准”接口列表。这个界面的结构对任何人来说都很熟悉吗?我是否重新发明了一些已经是标准的东西?

编辑:我有一个数据对象和一些对接收数据感兴趣的对象。对接收数据感兴趣的对象实现该接口,以便“路由”列表和地图可以将数据发送给它们。这个想法是路由中的完全泛化,路由将是数据驱动的。

【问题讨论】:

    标签: c# .net interface


    【解决方案1】:

    嗯,这听起来像 Action&lt;T&gt; 委托类型...我不知道任何 interface 等效的副手,但你可以只使用委托吗?

    编辑:好的,如果您需要让各种类实际实现它,那么我会将其保留为新接口...尤其是如果您可以给它一个比IReceiver 更有意义的名称和描述.

    【讨论】:

    • 它必须是一个接口,因为我有很多类需要实现接口才能接收数据。
    • 实现接口的类与 Action 委托有何相似之处?
    • @VoidStar:是的,这很不幸。
    • @Magnus:如果您将某些内容传递给另一个方法,通常接口和委托都有意义 - 例如,采用 List&lt;T&gt;.Sort 其具有采用 IComparer&lt;T&gt; 和 @987654325 的重载@.
    • 谢谢,我现在确信除了我之外,这不是每个人都知道的常见事情。
    猜你喜欢
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 2010-11-13
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    相关资源
    最近更新 更多