While working on a C# app I just noticed that in several places static initializers have dependencies on each other like this:
static private List
Personally I would get rid of the static initializers since it isn't clear and add a static constructor to initialize these variables.
static private List a;
static private List b;
static SomeClass()
{
a = new List() { 0 };
b = new List() { a[0] };
}
Then you don't have to guess what is going on and you're being clear in your intentions.