Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
从另一个 AppDomain 的程序集中复制方法并从 CurrentDomain 执行它
总体而言 我尝试从主域中的 dll 执行方法 但之后卸载该 dll 到目前为止我已经创建了新的AppDomain加载了Assembly dll 在那里 与MarshalByRefObject我取回了尸体并MaxStackSize方法到主域
c
reflectionemit
Reflection.Emit:如何可靠地将MethodBuilder转换为RuntimeMethodInfo?
动态生成类型并调用 TypeBuilder CreateType 后 我想创建一个指向新类型中的方法的委托 但如果我使用类似的代码 loadedType typeBuilder CreateType myDelegate MyDelegat
c
NET
Reflection
reflectionemit
将一个对象属性值传输到另一个对象
首先 我知道自动映射器 而且我不想使用它 因为我正在学习C 我想深入了解它 所以我正在尝试自己解决这个问题 如下所述 但是 我正在尝试创建一个属性复制器 以将一种类型的属性值复制到另一种类型 前提是该属性具有相同的名称和类型 并且可以从源读
c
mapping
reflectionemit
systemreflection
ilgenerator
发出局部变量并为其赋值
我正在初始化一个整数变量 如下所示 LocalBuilder a ilGen DeclareLocal typeof Int32 我如何访问它并为其赋值 我想做这样的事情 int a b a 5 b 6 return a b Use the
c
NET
Reflection
CIL
reflectionemit
为什么只允许动态方法跳过可见性检查?
我正在移植使用的代码DynamicMethod广泛允许预编译 以获得更好的冷启动性能 我注意到DynamicMethod可以进行即时编译并在跳过可见性检查的情况下执行 这允许它们访问私有嵌套类型 但普通程序集不能 或者不能 我没有看到任何明
NET
clr
reflectionemit
将 get 访问器主体克隆/复制为新类型
我正在从现有类型的动态装配中创建新类型 但仅包含选定的属性 public class EmitTest public Type Create Type prototype Type dynamicBaseType List
c
Reflection
net35
copy
reflectionemit
在 C# 中获取属性值(反射)的最快方法
我想知道从对象的属性获取值 仅针对此问题 的最快方法是什么 经过一番搜索后 我在这个网站上看到了 MarkGravell 的帖子 他写了这段代码 using System using System Reflection using Syst
c
Reflection
properties
delegates
reflectionemit
C# 反射:向现有程序集发出类
是否可以使用 Reflection Emit 在现有程序集中创建类型 或者是否需要定义一个新的动态程序集才能包含动态类型 基本上 我打算读入一个 XML 定义文件 该文件定义一个类 然后对该类进行多次实例化 并使用其他几个 XML 文件中的
c
reflectionemit
Reflection.Emit 与 CodeDOM
使用 Reflection Emit 库与 CodeDOM 在运行时动态生成代码有哪些优缺点 我正在尝试根据运行时以 XML 形式提供的元数据在系统中生成一些 相对复杂的 动态类 我将生成扩展应用程序程序集中现有类的类 实现附加接口 添加方
c
NET
codegeneration
reflectionemit
codedom
好奇心:为什么 Expression<...> 编译后的运行速度比最小的 DynamicMethod 更快?
我目前正在做一些最后的优化 主要是为了乐趣和学习 并发现了一些给我留下了几个问题的东西 首先 问题 当我通过使用在内存中构造一个方法时动态方法 http msdn microsoft com en us library system ref
c
profiling
reflectionemit
Expression
dynamicmethod
是否可以发出从泛型类型派生的类型,同时将其自身指定为泛型类型参数?
想象一下以下完全合法的类型层次结构 class A
NET
generics
reflectionemit
Lambda表达式编译方法
我有几行代码 public void CreateMethod
c
NET
Lambda
reflectionemit
如何在 C#/IL 中改变装箱值类型(基元或结构)
相关如何使用 IL 改变装箱结构我正在尝试以通用方式更改装箱值类型的值 因此尝试实现以下方法 void MutateValueType
c
NET
CIL
reflectionemit
呼叫和 Callvirt
CIL指令 Call 和 Callvirt 之间有什么区别 当运行时执行call指令它正在调用一段确切的代码 方法 毫无疑问它存在于何处 一旦 IL 被 JITted 调用站点生成的机器代码就是无条件的jmp指令 相比之下 callvirt
NET
Reflection
CIL
reflectionemit
发出具有与声明发出类型相同类型的属性的类
我已经找到了如何发出一个类 如下所示 class MyClass String MyProperty get set 无法弄清楚如何发出以下内容 class MyClass MyClass MyProperty get set 我面临的问题
c
reflectionemit
如何发出委托或 lambda 表达式
我想发出一个返回 Function 的方法 在这个方法中 我必须创建一个委托或一个正好服务于返回类型的 lambda 表达式 总的来说 它应该看起来像这样 I have a resolve method that will be calle
c
delegates
Lambda
reflectionemit
快速创建对象而不是 Activator.CreateInstance(type)
我正在努力提高应用程序的性能 我们有很多Activator CreateInstance电话引起了一些悲伤 我们基于接口实例化了很多类 ITabDocument 环顾四周后 我想到使用这段代码 该代码并不比使用Activator Creat
c
Reflection
reflectionemit
activator
createinstance
在处理数组时我应该固定什么?
我正在尝试写一个DynamicMethod包裹cpblk IL操作码 我需要复制字节数组块 在 x64 平台上 这被认为是最快的方法 Array Copy and Buffer BlockCopy两者都有效 但我想探索所有选项 我的目标是将
clr
CIL
reflectionemit
将对象字面量提供给 ILGenerator
Food obj ILGenerator gen GetILGenerator gen Emit obj replace this gen Emit OpCodes Call typeof Person GetMethod Eat 显然不可
c
CIL
reflectionemit
«
1
2