【问题标题】:Forcing different applications to implement an interface on ASP.Net Core强制不同的应用程序在 ASP.Net Core 上实现一个接口
【发布时间】:2020-03-12 15:53:59
【问题描述】:

我是 DotNet CORE 的新手,我想知道是否有任何方法可以强制我的环境中的不同应用程序实现一个通用接口。

更具体地说,我希望每个进入系统的新应用程序都被强制实现一个 onLoad() 函数,该函数会将它们注册到我的“应用程序注册表”中?

编辑:考虑到我有一个主仪表板应用程序,它“聚合”并显示有关其他应用程序的信息(只要它们在“应用程序注册表”中注册)。我所说的“进入系统”是指自己注册的过程。我的问题是,在我的“应用程序注册表”中,我不知道正在注册的内容实现了我希望他们实现的某些东西。

谢谢:)

【问题讨论】:

  • 在代码中使用接口作为参数类型。这实际上就是他们在那里的目的 - 强制执行某些事情。不与单一继承规则冲突。
  • 请详细说明您的问题。 “进入系统的应用程序”是什么意思?

标签: c# asp.net-core interface architecture startup


【解决方案1】:

这听起来像是接口或继承的情况。

每个类都可以轻松实现接口。因此,遵循您的要求绝不会破坏课程。您的代码的用户可以很容易地期望它。例如,List class 实现了 半打 接口。只是因为使用它的代码可能需要它的代码。

如果你想确保传入你的类的所有东西都有特定的功能,那就做一个接口:

public interface loadable{
    public void onLoad();
}

然后使用loadable 作为函数参数中的类型。

如果您需要超过 1 个接口,则必须通过在 where 子句中有多个接口的通用参数来实现,如下所述:

https://stackoverflow.com/a/4073492/3346583

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-03
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 2015-04-17
    相关资源
    最近更新 更多