Static constructor processing

  • Thread starter Thread starter Kevin C
  • Start date Start date
K

Kevin C

Will object instantiation of an object not occur until the static
constructor has run? In other words, if I have logic in a static
constructor that takes, lets say 5 seconds. Will all other attempts to
create an object of that type be "blocked" for that 5 secs until the static
constructor processing has occurred?
 
Will object instantiation of an object not occur until the static
constructor has run? In other words, if I have logic in a static
constructor that takes, lets say 5 seconds. Will all other attempts to
create an object of that type be "blocked" for that 5 secs until the static
constructor processing has occurred?


If you explicitlx provide a static ctor the type is not marked with
beforefieldinit which means that it is guaranteed that the static ctor run
exactly at the moment before you access the first time a field of this class
or create an instance. You can also rely on that behaviour in a
multithreaded program.
 
Kevin C said:
Will object instantiation of an object not occur until the static
constructor has run? In other words, if I have logic in a static
constructor that takes, lets say 5 seconds. Will all other attempts to
create an object of that type be "blocked" for that 5 secs until the static
constructor processing has occurred?

Yes, they will.
 
Back
Top