我最近繼承了一些長達數千行並且極度混亂的代碼。在C#中,有沒有辦法將同一個類中的代碼分離成單獨的文件?
我試圖重新考慮它,以便代碼至少更容易找到,但由於它是在Visual Studio中構建的,所有內容都包含在一個「表單」類中,並且它的寫法使它很難分開代碼而不會破壞某些東西。
有沒有辦法讓我的代碼可以在不同的文件中生存,但仍然保持在同一個類中?
我最近繼承了一些長達數千行並且極度混亂的代碼。在C#中,有沒有辦法將同一個類中的代碼分離成單獨的文件?
我試圖重新考慮它,以便代碼至少更容易找到,但由於它是在Visual Studio中構建的,所有內容都包含在一個「表單」類中,並且它的寫法使它很難分開代碼而不會破壞某些東西。
有沒有辦法讓我的代碼可以在不同的文件中生存,但仍然保持在同一個類中?
是的,這是可能的。這是Visual Stuido爲Win Forms等產品生成代碼的方式。它能夠將實現分成兩個單獨的文件,並且使用戶能夠只改變一個文件,從而減少將問題搞砸的可能性。
該概念被稱爲partial classes
。您可以在兩個不同的文件中定義相同的類,但類定義需要在字體中包含partial。 structs
和interfaces
也是可能的。
更多在這裏閱讀:
http://msdn.microsoft.com/en-us/library/wa80x488.aspx
使用部分類。例如:
如果你有Example.cs一類這樣:
public class Example
{
public void Func1()
{
}
public void Func2()
{
}
public void Func3()
{
}
public void Func4()
{
}
}
您可以輕鬆地將它更改爲:
Example.cs
public partial class Example
{
public void Func2()
{
}
public void Func4()
{
}
}
RestOfTheExample.cs
public partial class Example
{
public void Func1()
{
}
public void Func3()
{
}
}
希望這有助於!
通過使用部分類爲前
public partial class Employee
{
public void DoWork()
{
}
}
public partial class Employee
{
public void GoToLunch()
{
}
}
查找「部分類」,在多個類別 –
爲什麼不拆的功能呢? – Max
記住先使用谷歌:複製粘貼你的標題給出第一個結果的答案。 http://msdn.microsoft.com/en-us/library/bb514141.aspx –