这对 "override" ServiceBase 的负责人意味着什么?
What does it mean to "override" the ctor of ServiceBase?
我最近开始使用 winservices,我偶然发现 this link 关于 winservice ctor 并且它谈到 "overriding" ServiceBase 构造函数。
感觉很愚蠢,我在谷歌上搜索了这意味着什么,然后偶然发现了 this。
问题:他们 实际上 在文档中说 "overriding" 是什么意思?要明确地链接回 ServiceBase ctor?
MS 只是声明如果您从 ServiceBase 派生(像这样),您应该调用基本构造函数
class MyService:ServiceBase
public MyService : base() {
.. custom code ..
}
除了您的新 .ctor 之外,这还将调用基本构造函数。
在这里查看 "overriding" .ctor:
C# - Making all derived classes call the base class constructor
我不太同意MS所说的。 ServiceBase
有一个空的默认构造函数,它会自动被调用,所以你必须覆盖它的语句(这也不是真的,我会 overloading 而不是 overriding) 不是真的。
然而,我猜测他们的意思是像这样调用基础构造函数
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
构造函数,因为 class 未标记为 partial
。
我最近开始使用 winservices,我偶然发现 this link 关于 winservice ctor 并且它谈到 "overriding" ServiceBase 构造函数。 感觉很愚蠢,我在谷歌上搜索了这意味着什么,然后偶然发现了 this。 问题:他们 实际上 在文档中说 "overriding" 是什么意思?要明确地链接回 ServiceBase ctor?
MS 只是声明如果您从 ServiceBase 派生(像这样),您应该调用基本构造函数
class MyService:ServiceBase
public MyService : base() {
.. custom code ..
}
除了您的新 .ctor 之外,这还将调用基本构造函数。 在这里查看 "overriding" .ctor: C# - Making all derived classes call the base class constructor
我不太同意MS所说的。 ServiceBase
有一个空的默认构造函数,它会自动被调用,所以你必须覆盖它的语句(这也不是真的,我会 overloading 而不是 overriding) 不是真的。
然而,我猜测他们的意思是像这样调用基础构造函数
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
构造函数,因为 class 未标记为 partial
。