2016-01-08 53 views
0

我有一個非常基本的問題。在Visual Studio項目中,我找到了兩個名爲Startup的部分類。這些類在不同的文件中。將部分類拆分爲單獨的文件

enter image description here

如果我點擊第一個方法(ConfigureAuth),它出現在類文件 「Startup.Auth.cs」。第二個文件出現在類文件「Startup.cs」中。我怎樣才能組織這樣的課程?

回答

1

您可以使用C#中的部分類將大類拆分爲多個文件。重構一個大班級通常會更好,但是有一些合法的理由讓大班上課。

部分類的另一種用法是允許手動修改代碼生成的類。生成的代碼的一部分進入一個文件,而手動更改保存在一個單獨的文件中。在你的情況下,有一個單獨的Startup類,它是由獨立的源文件構建的,處理獨立的啓動部分。其中一些文件可以通過NuGet包添加,並使用部分類大大簡化了應用程序中包含不同功能的方式。

這是很簡單的使用partial類分成幾個源文件:

假設你有源文件MyClass.cs中實現類:

class MyClass { 

    public void MethodA() { ... } 

    public void MethodB() { ... } 

} 

你可以把它分成兩個源文件。 MyClass.A.cs

partial class MyClass { 

    public void MethodA() { ... } 

} 

而且MyClass.B.cs

partial class MyClass { 

    public void MethodB() { ... } 

} 

所以通過標記爲partial你被允許在幾個實例傳播class結構類的內容的類。在編譯期間,編譯器會將它們全部合併到一個單一的class定義中。

您可以在MSDN上學習the details about partial classes

+0

嗨馬丁,我有一個源文件Startup.Auth.cs與部分類的啓動和方法ConfigureAuth。我現在應該怎麼做?添加另一個名爲Startup的類? – AGuyCalledGerald

+0

@AGuyCalledGerald:_我現在該做什麼?_我不知道。你有什麼問題。你想做什麼? –

+0

如果我遵循您的指示,我會得到兩個具有相同內容(啓動)的類文件Startup.Auth.cs和Startup.cs。但是我想讓他們「結合」,如圖所示。 – AGuyCalledGerald

相關問題