[IronPython] Reflection.Emit from IronPython: What is the equivalent of typeof() in C# ?

Michael Foord fuzzyman at voidspace.org.uk
Thu Aug 6 22:06:45 CEST 2009


clr.GetClrType('') ? (on an instance of a string)

Michael

Robert Smallshire wrote:
> Hello,
>
> I'm attempting to drive the Reflection.Emit API from IronPython. In C#
> typical Reflection.Emit use makes use typeof(...) facility in C#, to enable
> the determination of types without needing an instance of that type.
>
> For example, to create an array of .NET CTS Strings in IL from C# one might
> do:
>
> generator.Emit(OpCodes.Newarr, typeof(string));
>
> where the second argument to Emit is the element type of the array.
>
> I've tried various alternatives from IronPython, including
>
> generator.Emit(OpCodes.Newarr, System.Type.GetType('System.String'))
> generator.Emit(OpCodes.Newarr, str().GetType())
> generator.Emit(OpCodes.Newarr, System.String().GetType())
> generator.Emit(OpCodes.Newarr, clr.GetClrType(System.String))
>
> however, all of these result in RuntimeType[] rather than String[] in the
> generated CIL.
>
> How do I get typeof(System.String) from IronPython?
>
> Rob
>
> Robert Smallshire
> robert at smallshire.org.uk
> http://smallshire.org.uk/
> Currently in Norway (UTC +2 hours) 
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>   


-- 
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog





More information about the Ironpython-users mailing list