tags:

views:

264

answers:

4

I am just curious to know if this can be done or not. I don't plan on doing it if it dosen't pack some significant performance benefits. I am a web and game developer but I usually don't develop games in c#.

+11  A: 

Yes, it is possible - you can use ilasm (comes with .NET SDK) to compile your code. There's no IDE support for that in Visual Studio, however. There aren't any performance benefits that you can derive from this that you wouldn't be able to get by other means - specifically, C++/CLI covers all low-level CLR features that may provide some benefit and are inaccessible from C# or VB - most notably, no-copy (ref) unboxing, plain unbounded function pointers (as opposed to delegates) and the associated calli IL instruction, and ref (managed pointer in CLI parlance) local variables (as opposed to just parameters).

Pavel Minaev
+1  A: 

Yes, you can; Microsoft's MSIL Assembler (ilasm.exe) from the .NET SDK will compile your IL to executable code. I can't see any reason to do this, except in very focused areas, where you've found a substantial performance benefit to be gained.

Here's a detailed, if dated, article describing how to do this.

Michael Petrotta
A: 

Or you could emit a bit of CIL from your C#. http://stackoverflow.com/questions/1269967/feeding-an-object-literal-to-ilgenerator

Steven Sudit
A: 

The #Develop (Sharp Develop) IDE has a plugin for il projects. I haven't used it, so I'm not sure how much help it provides. http://www.icsharpcode.net/OpenSource/SD/

Jason Haley