Not to be that person, but global anything in C# is a bad design idea. What are you trying to achieve? Do you merely want a List for specific objects that can be reached throughout your application at runtime? If so, maybe think about creating a static singleton class that has a list inside to handle it. Makes it easier to manage in my opinion.
https://msdn.microsoft.com/en-us/library/ff650316.aspx
public class Singleton
{
private static Singleton instance;
private Singleton() {}
public IList<object> PseudoGlobalObjects {get;set;}
public static Singleton Instance
{
get
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
Then you can use something like this:
Singleton.Instance.PseudoGlobalObjects.Add(obj);
Singleton.Instance.PseudoGlobalObjects.Remove(obj);