Personally, for methods, I have the same naming convention regardless of visibility.
These are my naming conventions for C#:
- Namespaces, types,methods, properties: PascalCase
- Local variables: camelCase
- Parameters to methods: camelCase
- Private fields: _PascalCase with underscore prefix, if backing field for property, then same name as property only with underscore prefix
Edit: Note, I am guilty of using prefix-names for private methods. I didn't catch that particular part of your question the first time I read it.
For instance, if I have 7 different ways to execute my SQL statement through my DatabaseCommand class, like QueryDataTable, QueryEnumerable, QueryEnumerable<T>
, QueryDataReader, etc. then all of these wants to call the same private methods, I have a tendency to call this method InternalQuery or PrivateQuery.