c# - “覆盖” ServiceBase 的 ctor 是什么意思?
问题描述
我最近开始使用 winservices,我偶然发现了这个关于 winservice ctor 的链接,它谈到了“覆盖”ServiceBase 构造函数。感觉很愚蠢,我用谷歌搜索了这意味着什么,并偶然发现了这一点。问题:他们在文档中说“覆盖”实际上是什么意思?明确地链接回 ServiceBase ctor?
解决方案
我真的不同意MS所说的。ServiceBase
有一个空的默认构造函数,它将自动被调用,因此您必须覆盖它的语句(这也不正确,我将重载而不是覆盖)不是真的。但是,我猜他们的意思是像这样调用基本构造函数
public class MyService : ServiceBase {
public MyService(var something) : base(){
}
}
这与
public class MyService : ServiceBase {
public MyService(var something){
}
}
/edit:理论上,如果您要重载(而不是覆盖)基本构造函数,则必须显式调用它。
public class ServiceBase{
public ServiceBase(){
}
public ServiceBase(var something) {
}
}
public class MyService : ServiceBase {
public MyService(var something)
: base(something)
{
}
}
ServiceBase
但是,无法重载构造函数,因为该类未标记为partial
.
推荐阅读
- python - Python通过另一个进程发送命令,等待进程终止,然后重新启动系统?
- c - 为什么不 ++i || ++j && ++k 给出期望值
- postman - 是否可以从 Postman 应用程序中 JSON 数据文件中提到的路径上传图像
- python - 如何找到 numpy 矩阵的最小值?(在这种特殊情况下)
- protractor - 测试应该为每个规范登录
- c# - 具有不同列名的 SQL 批量复制映射?
- c# - 单实例 winforms 应用程序应存储当前用户详细信息,并在尝试打开时将其显示在另一个实例中
- r - 如何将 odbc 包安装到 Databricks 集群?
- c++ - 使用win32应用程序获取系统的文化信息
- python - Python BeautifulSoup:获取标签内的内容