Custom attribute that, when applied on a type, ensures the instances of this type can only be accessed by the thread
that created the instance. When a different thread accesses instances of this type, a ThreadMismatchException exception is thrown.
[Metric("UsedFeatures", "PostSharp.Patterns.Threading.ThreadAffine")]
[Serializer(typeof(ThreadAffineAttribute.Serializer))]
public sealed class ThreadAffineAttribute : ThreadAwareAttribute, ITypeLevelAspect, ITypeLevelAspectBuildSemantics, IAspectBuildSemantics, IValidableAnnotation, ICloneAwareAspect, IInstanceScopedAspect, IAspectProvider, IService, IAdviceProvider, IAspect, IThreadAware, IQueryInterface