执行时代码生成技术详解
1. 引言
传统的 C++ 编程采用编译时生成代码的方式,程序在编译时就已经完全确定,属于静态系统。而 .NET 的公共语言运行时(CLR)提供了一种新的方式,不仅保留了编译时的特性,还支持构建动态系统,可通过加载程序集或即时编写自定义代码来添加新的功能。
2. 加载程序集
2.1 构建日志记录工具
首先,我们要构建一个简单的日志记录工具,它可以在运行时由用户扩展,将信息消息发送到其他地方。具体步骤如下:
1. 定义接口和类 :
// file=LogDriver.cs
// compile with: csc /target:library LogDriver.cs
using System;
using System.Collections;
public interface ILogger
{
void Log(string message);
}
public class LogDriver
{
ArrayList loggers = new ArrayList();
public LogDriver()
{
}
public void AddLogger(ILogger logger)
{
loggers.Add(logger);
}
public void Log(string message)
{
foreach (ILogger logger in loggers)
超级会员免费看
订阅专栏 解锁全文
7172

被折叠的 条评论
为什么被折叠?



