问题标签 [derived]

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 投票
2 回答
26141 浏览

c# - 派生类的 C# XML 序列化

您好我正在尝试序列化从一个类派生的对象数组,并且我一直使用 c# 遇到相同的错误。任何帮助深表感谢。

显然,为了这篇文章的目的,这个例子已经按比例缩小,在现实世界中,形状将包含大量不同的形状。

程序.cs

形状.cs

Square.cs

错误:System.InvalidOperationException:类型 XMLInheritTests.Square 不是预期的。使用 XmlInclude 或 SoapInclude 属性指定静态未知的类型。

在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterShapeA rray.Write2_Shape(String n, String ns, Shape o, Boolean isNullable, Boolean need Type)

在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterShapeA array.Write3_ArrayOfShape(Object o)

非常感谢

0 投票
3 回答
109 浏览

c# - 比较器中的方法解析

考虑以下基本类布局:

然后使用如下:

我期望比较器在 x 和 y 参数都是 Derived 实例的情况下调用 Derived.CompareTo 方法。

但是,情况并非如此,而是调用了 Base.CompareTo ,我一直想知道为什么。根据我对 C# 语言规范中描述的重载解决规则的基本理解,我似乎无法推断出这种行为。

有人可以为我解释一下吗?

0 投票
4 回答
571 浏览

c++ - c ++处理自引用的派生类

所以假设我在 C++ 中有一个像这样的树类

现在,每当我访问 specialTree 中的子项时,我显然得到的是 Node*,而不是 specialNode*。

但是这个 specialNode* 有 Node 没有的成员变量和函数。

我可以强制 specialNode 只将 specialNode 作为子节点,否则会中断编译时间,但在访问子节点/父节点时我仍然会得到 Node*,并且每当我想使用特殊函数时,我都必须强制转换它,即使在 specialNode 函数中也是如此。

有什么聪明的,或者更好的方法来解决这个问题吗?除了每次都按字面意思投射?

0 投票
4 回答
1478 浏览

c++ - 类型擦除和访问器

我在 C++ 中使用了类型擦除模式,即我用抽象类隐藏了一个模板类

问题:如果我想检索或修改数据,我必须使用 Base 类

如何定义访问器 getDatas() 和 SetDatas(vector datas) ?

0 投票
3 回答
975 浏览

c++ - 奇怪的编译器错误和模板继承

有人可以解释一下为什么这段代码:

产生以下编译器错误?

由于两个safe_bool模板都派生自safe_bool_base,我不明白为什么不能访问基类的受保护成员。

我错过了什么吗?

0 投票
7 回答
24418 浏览

c++ - 为什么派生*到基*之间的转换会因私有继承而失败?

这是我的代码 -

这会产生编译时错误。

既然编译器会尝试调用基类sid(),为什么会出现这个错误?有人可以解释一下吗。

0 投票
5 回答
257 浏览

c++ - 从派生类调用基方法

例如,我有这样的课程:

我从中得到了新的:

我想看看:

我可以从派生类调用方法吗?

0 投票
6 回答
2571 浏览

c++ - 派生类函数

使用 Worker 类编译文件时出错:

0 投票
1 回答
598 浏览

asp.net-mvc - ASP.NET 模型绑定到基类型

我有一个我的视图模型都继承自的 BaseViewModel。

在我的控制器中,我使用工厂方法根据输入返回正确的视图模型:

当我使用 TryUpdateModel 尝试绑定到我知道包含“TitleOfPublication”键的 FormCollection 时,它从未在我的视图模型中设置:

我认为这与 DefaultModelBinder 使用 BaseOutputViewModel 绑定 FormCollection 键有关 - 它不包含“TitleOfPublication”,派生的 MagazineViewModel 包含。

我正在尝试推出自己的模型绑定器,以覆盖 DefaultModelBinder 的 BindModel 行为。它全部正确连接,我可以在 TryUpdateModel 调用后直接对其进行调试:

但我不确定如何使用 bindingContext?需要更新什么以便我可以告诉 DefaultModelBinder 使用派生的 View Model 属性进行绑定?还是我完全误解了这一点!

我确实尝试过覆盖 CreateModel——很像 MvcContrib 中的 DerivedTypeModelBinder,但我认为因为我给活页夹提供了一个模型实例来使用,所以永远不会调用 CreateModel。在 Mvc DLL 上使用反射器,只有当模型为空时才调用 CreateModel 的“BindComplexModel”:

任何指针都收到了!

干杯

0 投票
2 回答
995 浏览

c++ - 派生类的复制构造函数的初始化列表上的基类 (C++)

让例子是:

我已经阅读了将 Base 的复制构造函数包含在 Derived 的初始化列表中的建议,以便复制 Base 的属性(如示例中所示)。

但是,我有 Base 的复制构造函数将自身 (* this) 传递给其他对象(要向该对象注册)。那是不是我实际上必须在派生的复制构造函数的初始化列表上使用(隐式或显式)Base的(默认)构造函数,并且仅在派生的复制构造函数的主体中调用Base的复制构造函数,当实际上有一个对象时可以通过 Base 的复制构造函数附加?否则 - (* this) 是一个有效的对象吗?