What are the best practices regarding the use and structure of inner classes in C#.
For instance if I have a very large base class and two large inner classes should
I don't have the book to hand, but the Framework Design Guidelines suggests using public
inner classes as long as clients don't have to refer to the class name. private
inner classes are fine: nobody's going to notice these.
Bad: ListView.ListViewItemCollection collection = new ListView.ListViewItemCollection();
Good: listView.Items.Add(...);
Regarding your large class: it's generally worthwhile splitting something like this into smaller classes, each with one specific piece of functionality. It's difficult to break it up initially, but I predict it'll make your life easier later on...