If you use LCG you can emit IL-Code on the fly to create a static method that only lives for the life of the application. If you need to cache the results between executions of the application, then create a dynamic assembly using AssemblyBuilder and then write that assembly to disk. Then you can load that assembly each time the app is successively executed.