Offcourse you can use the "readonly" keyword of C#, but you can only initialize it in the constructor of a type.
This little class makes it possible to initialize it in the constructor and assign it once somewhere else. The class is generic and supports implicit casting to the generic type.
The class definition:
Just copy the code into a ReadOnly.cs file or something like that, and start using ;)
There are many different ways to make something like this, but i find this a handy way.