草庐IT

继承权

全部标签

c# - 如何在 C# 中覆盖继承的类属性?

我学会了如何通过向基类中的方法添加virtual并在新类中添加override来继承方法。但是我该怎么做才能继承属性呢?classbird{privatevirtualstringfly="Yes,Ican!";publicstringCanI(){returnfly;}}classpenguin:bird{privateoverridestringfly="No,Ican't!";}这会弹出一个错误,说明不应在此处使用修饰符virtual/override。 最佳答案 fly不是一个属性,它是一个字段。字段不可覆盖。你可以这样做:

C#继承。从基类派生类

我有一个基类publicclassA{publicstrings1;publicstrings2;}我还有一个派生类:publicclassB:A{publicstrings3;}假设我的程序创建了一个类A的实例。AaClassInstance=newA();设置了一些参数:aClassInstance.s1="string1";aClassInstance.s2="string2";此时我想创建一个类B的实例。但我希望B已经具有我的类A实例的值。这没有用:publicBbClassInstance=newB():bClassInstance=(B)aClassInstance;这也没

C#.NET - 如何让 typeof() 与继承一起工作?

我将从用代码解释我的场景开始:publicclassA{}publicclassB:A{}publicclassC:B{}publicclassD{}publicclassTest{privateAa=newA();privateBb=newB();privateCc=newC();privateDd=newD();publicTest(){//Evaluatesto"false"if(a.GetType==typeof(B)){}//TODO:AddLogic//Evaluatesto"true"if(b.GetType==typeof(B)){}//TODO:AddLogic//I

C#:通过反射访问继承的私有(private)实例成员

我是C#反射方面的绝对新手。我想使用反射来访问类中的所有私有(private)字段,包括继承的那些。我已成功访问所有私有(private)字段(继承的字段除外),以及所有公共(public)和protected继承字段。但是,我无法访问私有(private)的、继承的字段。以下示例说明:classA{privatestringa;publicstringc;protectedstringd;}classB:A{privatestringb;}classtest{publicstaticvoidMain(string[]Args){Bb=newB();Typet;t=b.GetType(

c# - 如何用像 C# 这样好的但多继承截肢的语言解决 "Must be MarshalByRefObject"?

如何在像C#这样的多继承截断语言中解决“必须是MarshalByRefObject”?问题很简单,在某些情况下你只需要继承这个类(基础设施要求)。在这里真的无关紧要,哪种情况。那么,如果您已经从其他类(您的域模型要求)继承了该类,您会怎么做?顺便说一句,好的应用程序框架,如spring.net,总是确保您不必继承此类,无论您需要将哪种基础架构应用于您的类。我想知道为什么我在这里得到-3票??:) 最佳答案 一般来说,如果您要在远程处理/WCF上下文中使用它,您只想创建一个对象MarshalByRef。这通常是一种足够特殊的情况,不会

c# - 在 MSTest 中忽略从通用基类继承的测试类

在MSTest中创建通用基测试类并从中继承时,我无法运行所有继承类的测试。BaseDependencyPropertyFactoryTest位于Whathecode.PresentationFramework.Tests程序集中。它是通用基类。(BaseDependencyPropertyFactoryTest)两个程序集都有一个继承自该基类的测试,称为DependencyPropertyFactoryTest。继承类所做的只是传递一个特定类型的参数。[TestClass]publicclassDependencyPropertyFactoryTest:BaseDependencyPr

javascript - javascript中的原型(prototype)继承概念作为基于原型(prototype)的语言

你知道Javascript是一个prototype-basedprogramminglanguage.我读过一些关于Javascript及其原型(prototype)继承概念的书籍,但是:“如果你不能向一个6岁的child解释它,那么你自己真的不明白。”。好吧,我试图向一个22岁的friend解释JavaScript原型(prototype)概念,但完全失败了!你会如何向一个对该主题异常感兴趣的6岁child解释它?我在StackOverflow中看到了一些例子,但没有帮助。 最佳答案 经典继承是关于扩展事物的类型。假设您有一个类,

javascript - Angularjs 将变量传递给具有继承(非隔离)范围的指令

如果我使用的是独立作用域,我可以通过属性传递变量。即然后,在指令的Javascript上.directive('myDirective',function(){return{scope:{'baz':'='}}});有什么方法可以对继承范围做类似的事情吗?链接函数只是传递字符串。现在我正在自己解析变量并将其与scope.$parent匹配。似乎应该有一个辅助函数或更简单的方法来做到这一点。 最佳答案 使用$eval或$parse:.directive('myDirective',function($parse){return{sco

javascript - 在基于原型(prototype)继承的语言中使用类

followinganswertothisquestion很好地解释了经典继承和原型(prototype)继承之间的区别。我很想了解这一点,因为我开始使用Java,但后来转向了Javascript。在他的回答中,他针对原型(prototype)继承指出,“所有关于类的业务都消失了。如果你想要一个对象,你只需编写一个对象。”但是有这么多文档和questions关于如何在Javascript中“编写类”。为什么要插入这种语言成为它不是的东西。我正在寻找在JS应用程序中使用类在这种原型(prototype)语言中更明智的情况的具体示例,以及笨拙地将方钉插入圆孔的好处。正如Aravind所说,

javascript - 在 JavaScript 中是否有 "right"的继承方式?如果是这样,它是什么?

我一直在努力学习如何向现有代码添加测试——目前正在阅读WorkingEffectivelyWithLegacyCode.我一直在尝试应用JavaScript中的一些原理,现在我正在尝试提取一个接口(interface)。在寻找用JavaScript创建接口(interface)的过程中,我找不到很多东西——而且我发现的关于继承的内容似乎有几种不同的方式。(有些人创建自己的基类以提供有用的方法,使继承更容易,有些人使用函数,有些人使用原型(prototype))。什么是正确的方法?有一个用JavaScript提取接口(interface)的简单示例吗? 最佳答