[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