The rules are not really strict in SharpDX, but the implicit rule is currently this one
- For a static field that doesn't have any collateral effects (like instantiating a Dictionary<string, IntPtr>) or initialization dependencies, It is usually setup at the declaration level. 
- For an instance fields, this is usually done in the constructor.
You could probably find some variations in the code, but this is basically how it is done currently. I would prefer not introduce a new rule for this.