如何覆盖子项目中的属性

时间:2014-01-22 17:49:51

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

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

我有3个项目

1)图书馆计划

2)Child Project 1引用库项目

3)Child Project 2引用库项目

在Library项目中,它包含所有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警告。

如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

override方法,基本方法必须为virtual

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


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