如何从其他项目重用.cs文件

时间:2014-01-22 09:12:59

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

我一直致力于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#中实现这一目标?

2 个答案:

答案 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)。