首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用通过重写Ranorex (c#)而发生的警告

问如何禁用通过重写Ranorex (c#)而发生的警告
EN

Stack Overflow用户
提问于 2020-02-02 21:50:36
回答 1查看 343关注 0票数 1

我尝试在Ranorex中使用重写(c#语言使用)

代码语言:javascript
复制
public class DropListActions
{
     public void SimpleSelectByInnerText(string text, bool close){
     }
}
public class CheckBoxDropListWithInputField : DropListActions
{
     //overriding
     public void SimpleSelectByInnerText(string text, bool close){
     }
}

一切都很好,但在报告中显示了警告:

'****************.CheckBoxDropListWithInputField.SimpleSelectByInnerText(string,bool)“隐藏继承的成员'****************.DropListActions.SimpleSelectByInnerText(string,bool)”。如果有意隐藏,请使用新关键字。(CS0108) -C:\*\Ranorex\RanorexStudio Projects\****\DropListActions.cs:117,18

例如,在java中,由@Override注释标记的所有重写方法。也许在c#中有一种合适的方法来做到这一点?如何跳过这些警告消息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-02 22:01:33

基类和派生类都有一个名称相同的方法(SimpleSelectByInnerText)。编译器告诉您,派生类中的方法正在“隐藏”基类中的方法(您没有覆盖它,因为只能重写virtual或abstract方法)。

要消除此警告,可以使用new关键字,它告诉编译器您打算“隐藏”基本方法:

代码语言:javascript
复制
public class CheckBoxDropListWithInputField : DropListActions
{
     public new void SimpleSelectByInnerText(string text, bool close)
     {   //  ^ new keyword here before the return type   
     }
}

或者,您可以使用override并将基类中的方法标记为virtual。

代码语言:javascript
复制
public class DropListActions
{
     public virtual void SimpleSelectByInnerText(string text, bool close)
     {
     }
}

public class CheckBoxDropListWithInputField : DropListActions
{
     public override void SimpleSelectByInnerText(string text, bool close)
     {
     }
}

有关更多信息,请参见Jon和编译器警告(级别2) CS0108的编译器警告(级别2) CS0108。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60030942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档