问题标签 [base-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
3812 浏览

c# - 继承基类参考 C#

Base ObjectOrReference;对基本类型的引用也是如此。当我们写Base ObjectOrReference = new Drifted();它时,它变成了对象,因为通过使用“新”我们为它分配内存?或者它仍然引用,如果它是真的,它有什么类型?直接的问题是:“是ObjectOrReference对象吗?”

0 投票
10 回答
16992 浏览

asp.net-mvc - ASP.NET MVC 中的基本控制器类有哪些好的候选者?

我看到很多人谈论在他们的 ASP.NET MVC 项目中使用基本控制器。我见过的典型示例用于日志记录或 CRUD 脚手架。基本控制器类还有哪些其他好的用途?

0 投票
3 回答
11690 浏览

c++ - 从派生类初始化列表调用基类构造函数的顺序

上面只是一个伪代码。实际上,我想知道调用基本构造函数的顺序是否重要?

是否有由任何案例引起的不良行为(尤其是极端案例)?我的问题是更多的技术方面,而不是编码风格。

0 投票
1 回答
4749 浏览

asp.net-mvc-3 - MVC3 将基类传递给部分视图 - 提交表单只有父类值

我有许多从基本 ViewModel 类继承的子 ViewModel 类。

我将我的子 ViewModel 传递到我的 View 中,然后将其自身传递到局部视图中。主视图采用子类型,但部分视图采用父类型。

当我手动填充属性时,一切都正确显示。但是,当我提交表单时,我的控制器操作只有子类的属性 - 没有完成任何基类属性?

例如

视图很简单:

局部视图上有一个文本框。

在 IE 中:ViewSource 显示表单标记位于两个 tetxbox 周围。

但是,当我提交给控制器方法时:

model.Visits 已正确填充,但 model.Name 为空?

有任何想法吗?我在类中添加了无参数构造函数,因为如果我没有提交,我会在提交时遇到异常。

0 投票
2 回答
1319 浏览

c# - 基类与 Winforms C# 中的派生类控件交互

假设我有一个从“Form”继承的 FormBase 类,并且我有从 FormBase 继承的 winforms 表单,我如何访问和操作子表单中的控件,如下所示:

0 投票
5 回答
440 浏览

c# - 重铸为派生类型

我有一个问题,我不知道如何解决,我希望这里的人会有一些好的建议。

我正在解析文本文件,其中包含多个日志(每行一个日志)。格式类似于以下内容:

在这里,您可以看到日志的三种“类型”(A、B 和 C)。根据日志的类型,我会以不同的方式解析“描述”字段。

我的问题是我应该如何设置数据结构?我想做这样的事情:

现在,每个派生类都可以拥有自己独特的属性,具体取决于“描述”字段的解析方式,并且它们仍将保持三个“核心”属性(日期、类型和描述)。

到目前为止一切都很好,除了我不知道我需要什么类型的(派生)日志,直到我解析了日志文件中的行。当然,我可以解析该行,然后弄清楚,但我真的希望解析代码在“Log”构造函数中。我希望我能做这样的事情:

但不幸的是,我认为这是不可能的。我还没有尝试过,但我很确定这样做:

要么是非法的,要么会破坏我第一次创建“日志”时所做的所有解析。

有什么建议么?

0 投票
7 回答
1537 浏览

c++ - 设置派生对象的基础对象?

这是一个基本的概念问题。如果我有一个继承自 Base 的 Derived 类,并且我实例化了一个新的 Derived 对象,我是否可以将它的 Base 对象设置为我选择的特定 Base 对象,以便所有调用基类方法都重定向到这个特定的基对象?

像这样的东西:

我确信我在那个简单的代码中犯了各种各样的错误,因为我的技能水平很低,但只是为了这个想法。

这在 C++ 中可能吗?我们可以将派生信息从一个对象中分割出来,那么我们可以分离和替换继承链中的组件吗?

我为什么要这样做?

考虑 mixin lilies:(再次原谅语法错误)

在这种情况下,如果我们可以将 mixin 的基础对象设置为任何所需的对象,我们就可以在 mixin 中使用带有任何参数列表的构造函数,而 mixin 不需要知道任何关于它的信息。此外,mixin 可以像装饰器一样使用,而无需装饰器之间的通用接口。

感谢您的回答。由于我们可以分割对象的派生部分,因此基础信息和派生信息似乎是分开存在的。有人可以对此发表评论吗?我们能否访问一些内部表,比如我经常听到的 vtables(我对这种类型的东西一无所知,所以这可能不适用),并完成这个?

@Benoît

您能解释一下为什么只有 1 和 4 有效,而 2 和 3 无效吗?类 Base { 受保护:std::string 名称;公共:基础(标准::字符串 n){ 名称 = n;}

这将打印:

原来的 1 x = 5 新的 1 x = 6

原始 2 x = 5 原始 2 x = 6

原始 3 x = 5 原始 3 x = 6

原来的 4 x = 5 新的 4 x = 6

为什么这仅在使用指针时才有效?

0 投票
2 回答
8998 浏览

c++ - 了解虚拟基类和构造函数调用

我对虚拟基类的工作方式有点困惑。特别是,我想知道如何调用基类的构造函数。我写了一个例子来理解它:

哪个输出

我不确定前两种情况会发生什么,但至少对于第三种情况,我期望输出为“B”。所以现在我很困惑。了解如何调用 A 的构造函数的规则是什么?

0 投票
2 回答
330 浏览

wpf - StackPanel 和 Control 的通用基类或接口

我需要一个函数来返回可以是 System.Windows.Controls.Control 或 System.Windows.Controls.StackPanel 的东西。

理想情况下,它应该是由两者实现的接口或它们的基类(我讨厌为此目的使用对象)

UIElement 等之类的东西似乎只属于其中一个。

有任何想法吗?

0 投票
1 回答
1156 浏览

serialization - protobuf-net 将基类反序列化为继承类

我有序列化的基类。

我想将 Web2PdfEntity 类反序列化为从 Web2PdfEntity 继承的 Web2PdfServer。

我尝试使用下面的代码来反序列化类,不幸的是没有设置属性。