More elegant way to write code section dividers in C#?
c#, coding-style
Solution
C# has regions which serve a similar function. To use regions, your code would look a bit like this:
public class Foo {
#region Constants
private const string VIP = "Cob H.";
private const int IMPORTANT_NUMBER = 23;
#endregion
#region API Functions
[WebMethod(MessageName = "SomeInformation")]
public string SomeInformation() {
return VIP + " is dead.";
}
#endregion
#region Inner Classes
private class IrrelevantClass {
public string Name { get; set; }
public string City { get; set; }
}
#endregion
}
If you're using Visual Studio, the C# editor allows you to collapse regions, making it easier to browse large source files.
Problem
In C#, when I have different code sections like constants, API functions, helper functions, etc., I would like to divide them. I normally use something like this: ``` public class Foo { //================== Constants ================== private const string VIP = "Cob H."; private const int IMPORTANT_NUMBER = 23; //================== API Functions ================== [WebMethod(MessageName = "SomeInformation")] public string SomeInformation() { return VIP + " is dead."; } //================== Inner Classes ================== private class IrrelevantClass { public string Name { get; set; } public string City { get; set; } } } ``` Is there an elegant way to divide them instead of using a bunch of ugly comments? Like in Objective-C you can use ``` #pragma mark - Inner Classes ``` I've looked at all the keywords in the pragma list of C#, and none of them looks promising.