我正在为一种运行在.NET框架上的语言编写编译器。我正在尝试为import语句生成代码。基本上
import System.Drawing应该表现得像
using System.Drawing;在C#中。import语句还将支持以下内容:
import Foo.Bar in "foo.dll"它将在foo.dll中导入Foo.Bar类。我的问题是,如何使用Reflection.Emit将这些链接到我生成的程序中?
谢谢。
发布于 2012-12-18 03:54:02
您只需:使用库。这意味着,您只需在发出的代码中使用foo.dll中的类型/方法。Reflection.Emit包装器将自动添加必要的引用元数据。请注意,这意味着如果您的代码导入了一个库,然后没有使用它,那么这个引用将不会存在于生成的IL中。有趣的是,正是C#编译器(可能还有VB编译器)所做的事情。
https://stackoverflow.com/questions/13921061
复制相似问题