Every object in .net has headers (SyncBlockIndex
and MethodTablePointer
), and when you call GetHashCode()
the result could be saved in SyncBlockIndex
if there is no linked SyncBlock to this object, or in SyncBlock if so.
When we don't override GetHashCode
method hash code is the save during object existence, but how hash code will be storing in case we return dynamic hash code (dependent on object's state)?
I know that hash code should be the same during object existence, the purpose of question is to understand how hash code is being stored in SyncBlockIndex or in SyncBlock.