草庐IT

c# - 如何在没有抽象基类的情况下强制覆盖后代中的方法?

问题标题似乎有点困惑,但我会在这里尝试清除我的问题。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication1{publicabstractclassEmployee{privatestringname;privateintempid;BenefitPackage_BenefitPackage=newBenefitPackage();publicstringName{get{returnthis.name;}set{this.name

c# - 在 C# 中,是否需要调用基类构造函数?

在C#中,如果我有一个带有默认构造函数的继承类,我是否必须显式调用基类的构造函数,还是会隐式调用它?classBaseClass{publicBaseClass(){//...somecode}}classMyClass:BaseClass{publicMyClass()//DoIneedtoput":base()"hereorisitimplied?{//...somecode}} 最佳答案 您不需要显式调用基础构造函数,它会被隐式调用。稍微扩展您的示例并创建一个控制台应用程序,您可以自己验证此行为:usingSystem;nam

c# - 在 C# 中,是否需要调用基类构造函数?

在C#中,如果我有一个带有默认构造函数的继承类,我是否必须显式调用基类的构造函数,还是会隐式调用它?classBaseClass{publicBaseClass(){//...somecode}}classMyClass:BaseClass{publicMyClass()//DoIneedtoput":base()"hereorisitimplied?{//...somecode}} 最佳答案 您不需要显式调用基础构造函数,它会被隐式调用。稍微扩展您的示例并创建一个控制台应用程序,您可以自己验证此行为:usingSystem;nam

c# - 部分声明不得指定不同的基类

我有一个名为StandardsDefault的wpf页面。在后面的代码中,StandardsDefault继承了Page,就像所有其他页面一样。现在我创建了一个新类CountryStandards,它继承了StandardsDefault而不是page。我没有更改XAML。我得到的错误是"Partialdeclarationsof'CountryStandards'mustnotspecifydifferentbaseclasses"我觉得问题可能是设计者没有继承同一个类。但是我需要以某种方式实现继承,因为有许多通用方法将在许多标准页面中使用,例如CountryStandards谁能帮

c# - 部分声明不得指定不同的基类

我有一个名为StandardsDefault的wpf页面。在后面的代码中,StandardsDefault继承了Page,就像所有其他页面一样。现在我创建了一个新类CountryStandards,它继承了StandardsDefault而不是page。我没有更改XAML。我得到的错误是"Partialdeclarationsof'CountryStandards'mustnotspecifydifferentbaseclasses"我觉得问题可能是设计者没有继承同一个类。但是我需要以某种方式实现继承,因为有许多通用方法将在许多标准页面中使用,例如CountryStandards谁能帮

c# - 为什么可以在基类中实现接口(interface)方法?

这个问题在这里已经有了答案:WhyisabaseclassinC#allowedtoimplementaninterfacecontractwithoutinheritingfromit?(2个答案)关闭9年前。在我的项目中,我发现了一种在C#中似乎完全有效的奇怪情况,因为我没有编译时错误。简化的例子看起来像这样:usingSystem;usingSystem.Collections.Generic;namespaceTest{interfaceIFoo{voidFooMethod();}classA{publicvoidFooMethod(){Console.WriteLine("i

c# - 为什么可以在基类中实现接口(interface)方法?

这个问题在这里已经有了答案:WhyisabaseclassinC#allowedtoimplementaninterfacecontractwithoutinheritingfromit?(2个答案)关闭9年前。在我的项目中,我发现了一种在C#中似乎完全有效的奇怪情况,因为我没有编译时错误。简化的例子看起来像这样:usingSystem;usingSystem.Collections.Generic;namespaceTest{interfaceIFoo{voidFooMethod();}classA{publicvoidFooMethod(){Console.WriteLine("i

c# - 如何让 Visual Studio 2008 Windows 窗体设计器呈现实现抽象基类的窗体?

我在Windows窗体中遇到了继承控件的问题,需要一些建议。我确实为列表(由面板组成的自制GUI列表)中的项目使用基类,并为可以添加到列表中的每种数据类型使用一些继承控件。它没有问题,但我现在发现,将基本控件设为抽象类是正确的,因为它有方法,需要在所有继承的控件中实现,从base-control中的代码,但不得也不能在基类中实现。当我将基本控件标记为抽象时,VisualStudio2008设计器拒绝加载窗口。有没有办法让Designer使用抽象的基本控件? 最佳答案 我知道必须有一种方法可以做到这一点(而且我找到了一种干净利落地做到

c# - 如何让 Visual Studio 2008 Windows 窗体设计器呈现实现抽象基类的窗体?

我在Windows窗体中遇到了继承控件的问题,需要一些建议。我确实为列表(由面板组成的自制GUI列表)中的项目使用基类,并为可以添加到列表中的每种数据类型使用一些继承控件。它没有问题,但我现在发现,将基本控件设为抽象类是正确的,因为它有方法,需要在所有继承的控件中实现,从base-control中的代码,但不得也不能在基类中实现。当我将基本控件标记为抽象时,VisualStudio2008设计器拒绝加载窗口。有没有办法让Designer使用抽象的基本控件? 最佳答案 我知道必须有一种方法可以做到这一点(而且我找到了一种干净利落地做到

c# - 将基类转换为派生类

这个问题在这里已经有了答案:Isitpossibletoassignabaseclassobjecttoaderivedclassreferencewithanexplicittypecast?(31个答案)关闭9年前。在C#中是否可以将基类对象显式转换为它的派生类之一?目前认为我必须为我的派生类创建一个构造函数,它接受一个基类对象作为参数并复制属性值。我不太喜欢这个想法,所以我想尽可能避免它。这似乎不应该起作用(对象被实例化为新基,因此不应为派生类的额外成员分配内存)但C#似乎允许我这样做:classBaseClass{...somestuff...}classDerivedClas