运行时编译执行代码的又一应用, 仅供娱乐
2008-05-06 23:12
260 查看
之前写的那篇<<一个极其简单的在线C#IDE例子>>, 貌似很合大众胃口.这次我又想到一个种运行时编译执行代码的应用, 不过比较简单就是.
比如Math.dll程序集有个计算器的类
namespace Account
public interface ICalculator
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace TestDynamicObjectPool
使用ICalculator就可以调用到Calculator类的方法实现了.
实现的原理很土很简单, 就是动态生成一个代理类:
using System;
using System.Collections.Generic;
namespace DynamicProxy
public class CalcualtorProxy : Account.Calcualtor, TestDynamicObjectPool.ICalcualtor }
这种方法的拘束很大, 比如目标类必需可以被继承,要有无参构造函数等.这里纯粹是说个想法, 仅供娱乐.
完整代码下载 : DynamicObjectPool.rar
比如Math.dll程序集有个计算器的类
namespace Account
public interface ICalculator
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace TestDynamicObjectPool
使用ICalculator就可以调用到Calculator类的方法实现了.
实现的原理很土很简单, 就是动态生成一个代理类:
using System;
using System.Collections.Generic;
namespace DynamicProxy
public class CalcualtorProxy : Account.Calcualtor, TestDynamicObjectPool.ICalcualtor }
这种方法的拘束很大, 比如目标类必需可以被继承,要有无参构造函数等.这里纯粹是说个想法, 仅供娱乐.
完整代码下载 : DynamicObjectPool.rar
相关文章推荐
- AJAX示例应用-2(两级菜单的联动)-方式2(服务器以字符串形式执行代码在客户端运行)
- 运行时动态将字符串编译为C#可执行代码
- 18. Gradle编译其他应用代码流程(六) - 执行Task过程
- 运行时编译并执行C#代码
- 如何确定C#代码是在编译时执行还是在运行时执行
- 公共语言运行时(CLR),它负责管理和执行由.NET 编译器编译产生的中间语言代码
- 快应用开发1--编译官方的代码并在手机上运行rpk文件(Windows系统上)
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起
- 检测到LoaderLock,正试图在OS加载程序锁内执行托管代码,不要尝试在DllMain或映像初始化函数内运行托管代码,这样会导致应用程序挂起。
- Java代码编译和执行的整个过程
- [心得] 用FlasCC编译c++代码为SWC执行效率测试
- Android源码编译可执行文件 | 运行 | C层检测系统API版本号
- 编译可在Android上运行的可执行文件:C/C++交叉编译环境
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
- Java代码的编译、执行
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
- 不改一行代码让程序编译运行在3大移动平台
- linux的ubuntu上如何编译C和C++代码写的动态库,以及调用执行
- g++编译运行c++代码流程以及动态库静态库的创建与使用
- Angular:在应用初始化时运行代码