|
1
20
元编程具有构建时代码生成的所有优点,但不需要额外的代码步骤。这在库代码中非常常见,例如ORMs、序列化程序、某些类型的AOP、DI/IoC容器等。
我目前正在重新编写一个现有的库来使用运行时IL生成;这是非常有益的,我很高兴与它;但它不像 任何东西 |
|
2
6
这不是正反两方面的问题。 有时,根据以另一种方式转换为代码很繁琐的信息或在运行时之前不可用的信息创建类是很方便的。 链接文章中的例子并不重要 你 |
|
|
3
2
每件事都有时间和地点,包括这个(例如,泛型)。但是,在我开始之前,我会考虑在运行时生成类的替代方法。除了生成类,很可能还有一种更好、更易于维护的替代方法。 |
|
4
0
您可能已经有运行时生成类的经验了。泛型是在运行时在CLR中构建的,当它们第一次被需要时。XmlSerializer的实现也是如此。
|
|
|
5
0
优点:您可以在运行时创建所需的任何内容。 缺点:您没有编译时检查,因此如果出现任何错误,一切都会崩溃。 基本上与使用反射的优点/缺点相同。 |
|
|
6
0
脑海中浮现的一个缺点是记忆的使用。如果每次接收请求时动态构建一个类来处理某个请求,那么每次都有可能为相同的值生成一个新类。一旦类或程序集加载到应用程序域中,就无法卸载它。因此,尽可能缓存生成的程序集和类。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |