System.Threading.Thread.Name is a write-once property. I can assign to it at once, and only then if no other assignment has been made by application or library code. I am writing a multi-threaded event-driven application and would very much like to be able to change the name of the currently executing thread depending on the task its performing at the time.
Does anyone know why this has to be so, or is this a (wrong) presumption on the part of the CLR's designers?