StyleCop enforces some things here:
Within a class, struct, or interface, elements must be positioned in the following order:
- Fields
- Constructors
- Finalizers (Destructors)
- Delegates
- Events
- Enums
- Interfaces
- Properties
- Indexers
- Methods
- Structs
- Classes
Furthermore, elements are ordered by access:
publicinternalprotected internalprotectedprivate
As well as a few other rules:
- Contants have to appear before fields
staticelements have to appear before instance elements.
This might be a good baseline to start. As for additional ordering rules, I usually group related methods together.