Tag: 覆盖

什么时候应该在重写方法中调用base.Method(),以及在团队中编写代码时如何标记?

当使用一些框架/ api时,有时候你不清楚是否必须调用base.Method如果你覆盖它,例如你可以非常肯定你应该在覆盖事件调用器时调用base.Maethod()来传播事件在其他情况下,它可能不是那么清楚,尤其是在没有可用的源代码且没有注释的情况下。 我想知道其他程序员在这种情况下如何决定是否应该调用基本方法,如果你要编写一些框架如何通知其他程序员你希望在虚拟成员中调用或不调用基本方法。

覆盖和隐藏之间的确切区别

任何人都可以在内存和引用方面告诉覆盖和隐藏的工作。 class A { public virtual void Test1() { //Impl 1} public virtual void Test2() { //Impl 2} } class B : A { public override void Test1() { //Impl 3} public new void Test2() { Impl 4} } static Main() { A aa=new B() //This will give memory to B aa.Test1(); //What happens in […]

什么时候应该重写OnEvent,而不是在inheritance时订阅事件

什么时候应该做以下事情? class Foo : Control { protected override void OnClick(EventArgs e) { // new code here } } 与此相反? class Foo : Control { public Foo() { this.Click += new EventHandler(Clicked); } private void Clicked(object sender, EventArgs e) { // code } }

我需要访问combobox的非公共成员(突出显示的项目)

我正在为应用程序实现密钥导航,并且我希望在聚焦Combo Box时覆盖空格键function,使其像enter键一样; 像这样: if (!cb.IsDropDownOpen) { cb.IsDropDownOpen = true; } else { cb.SelectedItem = cb.{non-public member HighlightedItem}; cb.IsDropDownOpen = false; } 问题是我需要获取该非公共成员的值,以便我可以设置所选值并关闭下拉列表(输入通常如何工作)。 现在的问题是:实现这一目标的最快和最轻松的方法是什么?

帮助覆盖和inheritance

好的,在我学习的时候,请耐心地跟着我和男孩们。 这是我的问题。 我无法弄清楚为什么我不能从父类重写方法。 这是来自基类的代码(是的,我从OOP书中窃取了java代码,并试图用C#重写它)。 using System; public class MoodyObject { protected String getMood() { return “moody”; } public void queryMood() { Console.WriteLine(“I feel ” + getMood() + ” today!”); } } 这是inheritance基类(MoodyObject)的其他2个对象: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class SadObject: MoodyObject { protected String getMood() { return “sad”; } […]

shell图标叠加(C#)

我需要一种方法来使用C#或C ++为Windows XP / Vista中的文件夹和文件创建Icon Overlay? 任何例子? 谢谢, – 西恩!

可以在C#中覆盖静态方法吗?

我被告知static方法是隐式final ,因此不能被覆盖。 真的吗? 有人可以提供一个更好的覆盖静态方法的例子吗? 如果静态方法只是类方法,那么拥有它们的真正用途是什么?

为什么C#/ CLR不支持方法覆盖co / contra-variance?

关于C#限制的黑客攻击有很多问题和答案,不允许在重写时将方法返回(和参数)类型更改为兼容类型,但为什么在C#编译器或CLR中存在这种限制? 正如我所看到的,如果允许共同/反向差异,没有什么可以破坏,那么背后的原因是什么呢? 可以要求扩展访问参数的类似问题 – 例如,使用公共方法覆盖受保护的内部方法(Java支持的内容,IIRC)