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

Posted

技术标签:

【中文标题】如何重用其他项目的 .cs 文件【英文标题】:How to reuse the .cs file from other projects 【发布时间】: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 要在不同的项目中使用一组对象/类,您可以创建一个类库,然后您将在所有项目中引用该类库。 类不必是抽象的才能被覆盖 【参考方案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/…。如果您遇到困难,请提出具体问题。祝你好运!

以上是关于如何重用其他项目的 .cs 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何初始化一次 zap 记录器并在其他 Go 文件中重用它?

如何在cs文件中获取已选中Table中的checkbox所在行其他列的值

小白求教,WPF中如何让xaml控件在其他.cs文件中使用

XCode 中是不是有一种好方法可以跨项目重用类并轻松与其他开发人员共享?

CodeDom 将生成的 .cs 文件保存在哪里?我们可以将此位置更改为其他文件夹吗

如何在 Vue.js 中访问可重用组件的其他实例的状态