C# Reflection.Emit: Statischen Wert setzen

Hallo.

Ich arbeite gerade an einem Program zur Erstellung eine dynamischen Assembly. Sowei läuft alles gut. Allerdings möchte ich in einem erzeugten Type ein statisches, readonly Feld definieren und mit einem Wert vorbelegen. Bis jetzt leider ohne Erfolg…

 // Define a public class named "TestClass" in the assembly.
 TypeBuilder helloWorldClass = module.DefineType(
 "TestClass",
 TypeAttributes.Public);

 // Define a public static readonly String named ClassName in the type.
 FieldBuilder className = helloWorldClass.DefineField(
 "ClassName",
 typeof(String),
 FieldAttributes.Public
 | FieldAttributes.Static
 | FieldAttributes.InitOnly
 | FieldAttributes.HasDefault);

 // Fill the new field with the name of the class.
 className.SetConstant("TestClass");

Das funktioniert leider nicht.
Wie kriege ich den den Wert ins Feld?

Danke schonmal,
Chris