问题标签 [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.
c# - 继承基类参考 C#
Base ObjectOrReference;
对基本类型的引用也是如此。当我们写Base ObjectOrReference = new Drifted();
它时,它变成了对象,因为通过使用“新”我们为它分配内存?或者它仍然引用,如果它是真的,它有什么类型?直接的问题是:“是ObjectOrReference
对象吗?”
asp.net-mvc - ASP.NET MVC 中的基本控制器类有哪些好的候选者?
我看到很多人谈论在他们的 ASP.NET MVC 项目中使用基本控制器。我见过的典型示例用于日志记录或 CRUD 脚手架。基本控制器类还有哪些其他好的用途?
c++ - 从派生类初始化列表调用基类构造函数的顺序
上面只是一个伪代码。实际上,我想知道调用基本构造函数的顺序是否重要?
是否有由任何案例引起的不良行为(尤其是极端案例)?我的问题是更多的技术方面,而不是编码风格。
asp.net-mvc-3 - MVC3 将基类传递给部分视图 - 提交表单只有父类值
我有许多从基本 ViewModel 类继承的子 ViewModel 类。
我将我的子 ViewModel 传递到我的 View 中,然后将其自身传递到局部视图中。主视图采用子类型,但部分视图采用父类型。
当我手动填充属性时,一切都正确显示。但是,当我提交表单时,我的控制器操作只有子类的属性 - 没有完成任何基类属性?
例如
视图很简单:
局部视图上有一个文本框。
在 IE 中:ViewSource 显示表单标记位于两个 tetxbox 周围。
但是,当我提交给控制器方法时:
model.Visits 已正确填充,但 model.Name 为空?
有任何想法吗?我在类中添加了无参数构造函数,因为如果我没有提交,我会在提交时遇到异常。
c# - 基类与 Winforms C# 中的派生类控件交互
假设我有一个从“Form”继承的 FormBase 类,并且我有从 FormBase 继承的 winforms 表单,我如何访问和操作子表单中的控件,如下所示:
c# - 重铸为派生类型
我有一个问题,我不知道如何解决,我希望这里的人会有一些好的建议。
我正在解析文本文件,其中包含多个日志(每行一个日志)。格式类似于以下内容:
在这里,您可以看到日志的三种“类型”(A、B 和 C)。根据日志的类型,我会以不同的方式解析“描述”字段。
我的问题是我应该如何设置数据结构?我想做这样的事情:
现在,每个派生类都可以拥有自己独特的属性,具体取决于“描述”字段的解析方式,并且它们仍将保持三个“核心”属性(日期、类型和描述)。
到目前为止一切都很好,除了我不知道我需要什么类型的(派生)日志,直到我解析了日志文件中的行。当然,我可以解析该行,然后弄清楚,但我真的希望解析代码在“Log”构造函数中。我希望我能做这样的事情:
但不幸的是,我认为这是不可能的。我还没有尝试过,但我很确定这样做:
要么是非法的,要么会破坏我第一次创建“日志”时所做的所有解析。
有什么建议么?
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
为什么这仅在使用指针时才有效?
c++ - 了解虚拟基类和构造函数调用
我对虚拟基类的工作方式有点困惑。特别是,我想知道如何调用基类的构造函数。我写了一个例子来理解它:
哪个输出
我不确定前两种情况会发生什么,但至少对于第三种情况,我期望输出为“B”。所以现在我很困惑。了解如何调用 A 的构造函数的规则是什么?
wpf - StackPanel 和 Control 的通用基类或接口
我需要一个函数来返回可以是 System.Windows.Controls.Control 或 System.Windows.Controls.StackPanel 的东西。
理想情况下,它应该是由两者实现的接口或它们的基类(我讨厌为此目的使用对象)
UIElement 等之类的东西似乎只属于其中一个。
有任何想法吗?
serialization - protobuf-net 将基类反序列化为继承类
我有序列化的基类。
我想将 Web2PdfEntity 类反序列化为从 Web2PdfEntity 继承的 Web2PdfServer。
我尝试使用下面的代码来反序列化类,不幸的是没有设置属性。