From time to time I'll want to perform some operation on a subset of properties of a Type. However reflecting over types can be costly exercise. Since Types don't change at runtime the natural solution is to parse them once and cache the results. For small sets this works well. However with hundreds of types, the performance starts to degrade. I've also noticed that the typeof operator is rather slow when compared to intrinsic is and as operators.
- It's ready only. It's a great lazily initialized structure but the factors that make it thread safe.
- It's never garbage collected. Type information is always retained in the AppDomain so any statics created this way will always remain live.