我一直致力于Android应用开发,现在已经切换到了Windows。
1)我有一个场景,我需要创建一个子项目和库项目,我们已经完成了链接中给出的Android - http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject
如何在Visual Studio中实现相同的功能?用于Windows Phone应用程序开发。
2)我必须创建一个类,它将使用某些值定义一些方法,例如:
在我的基础项目中
Class{
public void string appName(){
return "XYZ"
}
public void int appVersion(){
return 1;
}
}
现在在我的子项目中,我应该能够覆盖上面的方法并更改实现,如果我没有给出实现,它应该采用默认值。
如何在C#中实现这一目标?
答案 0 :(得分:4)
通常,您不会在C#中重用文件,而是重用类,
创建您的库项目并将基类放在那里:
namespace YourLibraryNameSpace
{
public class BaseClass
{
public virtual void string AppName()
{
return "XYZ";
}
public virtual void int AppVersion()
{
return 1;
}
}
}
然后在您的主项目中添加对库项目的引用并添加您的子类,如下所示:
namespace MainProjectNameSpace
{
using YourLibraryNameSpace;
public class ChildClass : BaseClass
{
public override void string AppName()
{
return "ABC";
}
public override void int AppVersion()
{
return 2;
}
}
}
我建议遵循C#命名约定,例如pascal大小写方法名称。
答案 1 :(得分:1)
在C#中它的工作方式几乎相同。库项目是一个dll,所以你可以先创建一个。然后创建您的主项目。在解决方案资源管理器树中,您可以右键单击主项目并添加对库项目的引用。
关于覆盖实现,如果你想要这种行为,你需要在c#中明确地将你的方法标记为虚拟:
Class{
public virtual void string appName(){
return "XYZ"
}
public virtual void int appVersion(){
return 1;
}
}
然后当你在子类中覆盖它们时,将virtual
更改为override
(需要明确声明你要覆盖,不像java)。