[nem-pl] Bugreporty do MS

Michal Moskal malekith at pld-linux.org
Tue Oct 19 23:22:58 CEST 2004


On Tue, Oct 19, 2004 at 10:59:06PM +0200, Kamil Skalski wrote:
> >
> > Value typy musisz mieć sfinalizowane, żeby dodać pola o ich typie
> > (chyba).
> 
> No ok, to jest sobie taki testcase:
[...]
> Jakieś propozycje jak go "ulepszyć"?

Załącznik. Sypie się, a chyba powinien działać.

-- 
: Michal Moskal :: http://www.kernel.pl/~malekith :: GCS !tv h e>+++ b++
: ::: Logic is a nice contrast to the Real World. :: UL++++$ C++ E--- a?
-------------- next part --------------
using System;
using System.Reflection;

using System.Reflection.Emit;
class X {

static void Main ()
{
AssemblyName asmname = new AssemblyName();
asmname.Name = "assemfilename.exe";
AssemblyBuilder asmbuild = System.Threading.Thread.GetDomain().
DefineDynamicAssembly(asmname, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder modbuild = asmbuild.DefineDynamicModule("modulename", "assemfilename.exe");

TypeBuilder typebuild1 = modbuild.DefineType("typename");

TypeBuilder myStructBuilder = typebuild1.DefineNestedType("myStruct",
TypeAttributes.NestedPrivate, typeof(System.ValueType));

FieldBuilder f = myStructBuilder.DefineField("MyMember1", typeof(int),
FieldAttributes.Public);

FieldBuilder f2 = typebuild1.DefineField("MyMember2", myStructBuilder,
FieldAttributes.Public);

typebuild1.CreateType();
myStructBuilder.CreateType();
asmbuild.Save("assemfilename.exe");

}

}


More information about the devel-pl mailing list