【问题标题】:how to override the properties in child project如何覆盖子项目中的属性
【发布时间】:2014-01-22 17:49:50
【问题描述】:

我正在从事 Windows Phone 应用程序开发,

我有 3 个项目

1) 图书馆项目

2) 引用库项目的子项目 1

3) 引用库项目的子项目 2

在库项目中,它包含所有 xaml 文件、.cs 文件等... 在我的子项目中,它只包含一个 MainPage.xaml 及其 .cs 文件,我在其中将它导航到我的库项目中的一个页面。

但我的库项目代码中的条件很少,它将根据这些条件工作,例如:

在我的库项目中,一个类可以包含:

if(language == "JAVA"){
  // alert with text as "Android"
}else{
 // alert with text as "Windows"
}

这里的字符串 JAVA 可能在库项目中定义如下:

public String LanguageName(){
  return "JAVA";
}

但在我的子项目中,它可以像这样被覆盖:

public override String LanguageName(){
      return "C#";
    }

所以当我执行时应该向我显示一个带有 Windows 作为文本的警报,如果它没有在子项目中定义,那么它应该使用默认值作为 Android 警报。

如何做到这一点?

【问题讨论】:

    标签: c# visual-studio-2012 windows-8 windows-phone-8


    【解决方案1】:

    override一个方法,基方法必须是virtual

    // in base class
    public virtual String LanguageName(){
      return "JAVA";
    }
    
    
    // in derived class
    public override String LanguageName(){
      return "C#";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多