3

我一直在開發Android應用程序,現在已切換到Windows。如何重用其他項目中的.cs文件

1)我有一種情況,我需要創建一個子項目和庫項目,我們已經做到了這一點Android作爲在給定的鏈接 - http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject

如何acheive在Visual Studio是一回事嗎?用於Windows Phone應用程序開發。

2)我要創建一個類裏面會有一些值定義的一些方法,如:

在我基地項目

Class{ 

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

public void int appVersion(){ 
return 1; 
} 

} 

現在,在我的孩子的項目,我應該能夠覆蓋上述方法和更改實現,並且如果我沒有給出實現它應該採用默認值。

如何在C#中實現這一目標?

+0

您應該使用抽象類。 http://msdn.microsoft.com/en-us/library/sf985hc5.aspx 要在不同的項目中使用一組對象/類,您可以創建一個類庫,然後在所有項目中引用它。 –

+0

在創建項目時,不必爲抽象而被抽象爲 –

回答

1

在C#中,它的工作方式幾乎相同。一個庫項目是一個DLL,所以你可以先創建一個。然後創建你的主項目。在解決方案資源管理器樹中,您可以右鍵單擊主項目並添加對庫項目的引用。

關於重寫實現,在C#中,你需要明確標出你的方法虛擬如果你想這種行爲:

Class{ 

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

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

} 

,然後當你覆蓋它們在你的子類,改變virtualoverride(需要明確聲明你重寫,不像java)。

+0

哪一個我需要從列表中選擇以創建庫項目? – Goofy

+0

像他們有「Winodws手機應用程序」,「winodws類圖書館項目」等... – Goofy

+0

如果可能的話,請你給我看一個例子,我完全困惑,並在你的例子的幫助下,我可以進一步 – Goofy

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套管方法名稱。

+0

嚴格來說,您可以將文件作爲鏈接添加到多個項目中,但您的解決方案要好得多! – Liath

+0

你可以請等一下,我會檢查你的方法,讓你知道 – Goofy

+0

和這個BaseClass是什麼項目?就像他們有「Winodws電話應用程序」,「winodws類庫項目」等 – Goofy

相關問題