问题标签 [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# 中显示基类变量的值
我正在尝试执行以下代码
当我执行 where is of 实例时,我得到5
(value of a
) 作为输出,但是当我执行aa.show()
where is of 实例时,输出结果为(value of ) (value of )。aa
A
bb.show()
bb
B
0
a
z
b
有人可以解释为什么派生类无法显示 a 的当前值,即使它已被声明为受保护,而它能够显示正确的值b
?
更新:
我会尝试建议的解决方案。关于编译错误,没有,我能够得到问题中提到的输出。
c# - ac# 枚举是否有基础对象?
我知道你不能对枚举使用继承,所以在我的基类中,我想定义实现它的类必须为属性返回某种类型的枚举。
理想情况下,这将是:
然后所有的实现者都必须返回某种形式的枚举。但显然 BaseEnum 不存在。我可以使用对象,但我宁愿不使用。
有这样做的好方法吗?
编辑:我问这个是因为我本质上想在实现类中保持属性的名称相同 - 我知道我将无法使用基类中的枚举,但如果我没有把它放在基础中,然后实现类可以决定他们自己的枚举属性名称,随着时间的推移,这可能会变得不清楚,因为它们会转向自己的实现。
c++ - C++中基类地址的保证?
在 C 结构中,我保证:
现在,在 C++ 中,如果我有:
如果是这样,你能给我一个参考(比如“C++ 编程语言,页面 xyz”)吗?
谢谢!
c++ - 通过基类提供依赖
我有一个零件列表,其中一些需要一个指向引擎的指针,我们称它们为 EngineParts。我想要的是使用 RTTI 找到这些 EngineParts,然后给他们引擎。
问题是如何设计EnginePart。我这里有两种选择,如下所述,我不知道该选择哪一种。选项 1 更快,因为它没有虚函数。如果我想 Clone() 对象,选项 2 更容易,因为没有数据它不需要 Clone() 函数。
有什么想法吗?也许还有第三种选择?
选项1:
选项 2:
(注意,实际情况涉及的有点多,我不能使用简单的解决方案,比如为EngineParts创建单独的列表)
谢谢
visual-studio - Visual Studio 加载设计表单
当您有一个从 Forms 继承的 Class,然后让所有表单都从 Class 继承,然后尝试在 Visual Studio 中以设计模式加载表单时,是否有人遇到过问题?它是否正确加载,因为在我的上它显示“路径中的非法字符。”。我在调试模式下运行了 Visual Studio,发现它正在尝试检查我认为的文件的路径并获取通用定义的“>”。那么是否可以在 Windows 窗体上实现泛型,或者我是否必须为此找到解决方法,我已经在互联网上搜索了一些示例或线索,但可以找到任何重要的示例或线索。任何指针都将不胜感激,因为应用程序运行良好,但不是 Visual Studio 的设计模式。谢谢。
基类
c# - 如何从基类或其他函数文件访问 Masterpage 属性
我通过执行以下操作从常规 ASP.NET C# 页面访问 Masterpage 属性:
这在页面的代码隐藏中工作正常,但是当我尝试将它移动到我的基类文件中的函数时,如下所示:
...我收到以下错误消息:
编译器错误消息:CS0246:找不到类型或命名空间名称“SecondMasterPage”(您是否缺少 using 指令或程序集引用?)
我的基类文件位于我的 App_Code 目录中,并且其中的其他功能可以正常工作。为什么这个功能不起作用?此外,如果像这个特定的函数在我的基类文件中不起作用,我可以把它放在哪里,以便可以从任何页面调用它?
c# - 从通用基类中获取实现的类型
我可能完全错误地用了标题,但基本上,我有以下基类:
这个的实现是这样的:
基本上,我需要的是在我的基类 ScheduleableService 中,能够获取 MyScheduledService 类型 - 有什么方法可以在不传递它的情况下做到这一点。
以下作品,但是很丑......
执行:
c# - 继承的用户控件的 ASP.NET 事件生命周期
请原谅伪代码,但这是一个简单的问题:
我创建了一个用户控件(myControlBase:UserControl),其标记中有一个文本框(id =“txtbox”)。在它的代码隐藏中,我编写了一个方法 SayHello(string s){ txtbox.Text = s; }。
我创建了另一个扩展 myControlBase (myControl : myControlBase) 的用户控件。在这个子控件的 page_load 中,我调用 SayHello("hello"); 并收到一个运行时错误,告诉我 txtbox 为空(显然尚未创建)。
那么,如何从用户控件继承并让我的子控件访问基本控件的标记?我试图阅读这些控件的事件生命周期,但我想我没有得到它。
有任何想法吗?
-编辑-
对不起,它是 ASP.Net。如果这段代码使它更清晰,那么我在描述这个问题方面一定做得很差。
txtBox 是一个 ASP:Textbox 控件,存在于 myControlBase 的标记中。
这会在 SayHello("hello"); 失败。因为 txtBox 返回 Null。
c++ - C++:避免继承层次结构中的双重维护
创建 C++ 继承结构时,必须在多个位置定义完全相同的成员函数:
如果 B 是一个抽象基类,并且 D、E 和 F 都继承自 B,你可能会有这样的情况:
所以,这里显然有一些重复。如果到B的接口很大,如果接口需要改变,你可能有很多地方需要改变。
一位同事建议使用巧妙创建的嵌入式#includes 进行一些技巧,ala:
这似乎有点笨拙?是吗?有没有更好的解决方案来避免双重维护?
另外,也许这里的解决方案真的是更好的支持语言的工具,比如 Visual Assist X?
编辑:假设派生类必须具有唯一的实现。
c# - 从基类调用子类的新方法
我有一些这样的课程
它工作正常,打印“METHOD FROM C”
但
如果我有这样的情况
它打印“来自 A 的方法”。如何在不采用强制转换或更改方法声明的情况下获得与第一个示例相同的行为?