public void TestReadonlyField() { var c = new CodeDomGenerator(); c.AddNamespace("Samples").AddClass(Define.Class("ee", TypeAttributes.Public) .AddMember(Define.ReadOnlyField(MemberAttributes.Family, new CodeTypeReference(typeof(int)), "fld1")) .AddMember(Define.ReadOnlyField(MemberAttributes.Private | MemberAttributes.Static, new CodeTypeReference(typeof(int)), "fld2")) .AddMember(Define.Const(MemberAttributes.Private, "cns1", () => 1)) .AddMember(Define.Const(MemberAttributes.Public, "cns2", () => "hi!")) ); Console.WriteLine(c.GenerateCode(CodeDomGenerator.Language.VB)); Console.WriteLine(c.GenerateCode(CodeDomGenerator.Language.CSharp)); var ass = c.Compile(null, CodeDomGenerator.Language.VB); Assert.IsNotNull(ass); Type eeClass = ass.GetType("Samples.ee"); Assert.IsNotNull(eeClass); ass = c.Compile(null, CodeDomGenerator.Language.CSharp); Assert.IsNotNull(ass); eeClass = ass.GetType("Samples.ee"); Assert.IsNotNull(eeClass); }