【问题标题】:How to reuse the .cs file from other projects如何重用其他项目的 .cs 文件
【发布时间】:2014-02-12 06:05:51
【问题描述】:

我一直从事 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# 中实现这一点?

【问题讨论】:

  • 你应该使用抽象类。 msdn.microsoft.com/en-us/library/sf985hc5.aspx 要在不同的项目中使用一组对象/类,您可以创建一个类库,然后您将在所有项目中引用该类库。
  • 类不必是抽象的才能被覆盖

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


【解决方案1】:

通常你不会在 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# 命名约定,例如帕斯卡大小写方法名称。

【讨论】:

  • 严格来说,您可以将文件作为链接添加到多个项目中,但您的解决方案要好得多!
  • 你能等一下,我会检查你的方法并让你知道
  • 这个 BaseClass 是什么项目?就像他们有“Winodws 手机应用”、“winodws 类库项目”等
  • 你可以只创建一个类库项目。
  • @VahidND 你也可以用同样的方式帮我处理图片吗?
【解决方案2】:

在 C# 中,它的工作方式几乎相同。库项目是一个 dll,因此您可以先创建它。然后创建您的主项目。在解决方案资源管理器树中,您可以右键单击主项目并添加对库项目的引用。

关于覆盖实现,在 c# 中,如果你想要这种行为,你需要将你的方法显式标记为虚拟:

Class{

public virtual void string appName(){
 return "XYZ"
}

public virtual void int appVersion(){
 return 1;
}

}

然后当您在子类中覆盖它们时,将 virtual 更改为 override(需要明确说明您正在覆盖,与 java 不同)。

【讨论】:

  • 在创建项目时,我需要从列表中选择哪一个来创建库项目?
  • 如果可能的话,你能给我举个例子吗,我很困惑,在你的例子的帮助下,我可以继续前进
  • @Goofy,所以你的问题是如何开发一个windows phone 应用程序?网络上有各种指南可以帮助您入门,例如msdn.microsoft.com/en-us/library/windowsphone/develop/…。如果您遇到困难,请提出具体问题。祝你好运!
猜你喜欢
  • 1970-01-01
  • 2011-05-24
  • 1970-01-01
  • 1970-01-01
  • 2017-08-18
  • 1970-01-01
  • 2018-05-24
  • 2017-04-06
  • 1970-01-01
相关资源
最近更新 更多