reflection.emit 相关问题

System.Reflection.Emit命名空间包含允许编译器或工具发出元数据和Microsoft中间语言(MSIL)并可选地在磁盘上生成PE文件的类。

动态变量为动态类型

是否可以生成动态类型,并且在某种方法中可以使用反射发射生成动态变量?动态类型类似于下面的代码,但使用反射发射创建。 ...

回答 1 投票 0


是否可以在调试时声明C#方法/函数?

假设您设想了一些扩展方法,该方法将以某种方式将对象转换为可用于调试目的的对象。一个示例是sqlCommand.ToScript()扩展方法,该方法... ...>

回答 1 投票 0

使用IL Emit从IL堆栈顶部获取值

我有一个LocalBuilder,它本质上是一个数组。我可以在IL中使用它,也可以使用OpCodes.Ldlen加载它的长度。我只是想知道,是否有任何方法可以从顶部获取长度...

回答 1 投票 1

为什么IL生成的方法调用会抛出InvalidProgramException?

我正在运行时(.Net Core 3.0)生成Web API控制器。我所拥有的是一个通用的基本控制器,我可以从中继承生成的控制器,并且在设置http操作时我想...

回答 1 投票 0

使用IL Emit加载ParameterInfo

我目前正在使用IL Emit作为指导来调用现有对象的方法,并且我已经可以做有问题的事情。现在,我将一个属性添加到参数中,并且想要加载...

回答 4 投票 2

如何获取Reflection.Emit类型的实例?

所以我有一个类:public class MyClass:IMyClass {public string foo {get;} public string bar {get;}}}和一个接口:public interface IMyClass {string foo {get;}}和一个系统...

回答 1 投票 -1

EmitIL-带有ref参数的调用方法

我正在尝试在MSIL中编写以下代码:class ReferenceTestViewModel:BaseViewModel,ITestViewModel {private int id; public int Id {get {return id; }设置{...

回答 1 投票 1

将多个选择表达式组合到动态类中

我想创建一个允许单独的程序集(一个插件)在运行时向对象添加属性的系统。插件是插件,因此可以随时添加/删除。基础实体...

回答 1 投票 0

如何从类型获取内部属性?

我编写了应该在运行时使用System.Reflection.Emit生成以下代码的代码:[DefiniteAttribute]内部类GeneratedClass {}我的实际代码是:公共类...

回答 1 投票 0

If / else and while分支在Mono.Cecil中

AFAIK,Cecil不支持DefineLabel和MarkLabel。在使用if-else和while分支时,可以使用哪些替代方式(例如生成Nop操作码)来替换标签?例如:...

回答 1 投票 1

C#,如何使用Reflection.Emit mvvmlight样式的getter setter动态创建

如何在Reflection.Emit私有字符串_Name中创建如下所示的属性;公共替代字符串Name {get => _Name;设置=>设置(ref _Name,value); }我用...

回答 1 投票 0

从未知对象(.net)生成一个大文件。

我想开发一个新的API。它必须将Dynamics CRM和前端开发人员联系起来。今天,开发的“解决方法”是:填充一个Excel文件来描述CRM和自定义对象(使用fetchXml,...)...

回答 1 投票 1

.Net - 传递可变数量的参数

我需要处理使用Reflection导入的类中的事件。为此,我使用必需的参数类型创建一个动态方法,然后将其转换为委托并添加为事件处理程序。唯一的 ...

回答 2 投票 2

如何动态创建一个类?

我有一个看起来像这样的类:public class Field {public string FieldName; public string FieldType;和一个对象列表 值:{“EmployeeID”,“int”},{“...

回答 13 投票 184

现实世界使用Reflection.Emit

在我读过的所有书中,他们经常说,你想要动态生成IL的情况并不多,但他们没有给出任何有意义的例子。之后......

回答 17 投票 37

在运行时创建WCF服务

我们将从运行时读取的元数据构建Web服务。我的意思是整个Web服务:签名,合同和实现。我从这里看到两条主要路径。首先 ...

回答 1 投票 2

为什么IL.Emit方法添加额外的nop指令?

我有这个代码发出一些在空对象上调用string.IndexOf的IL指令:MethodBuilder methodBuilder = typeBuilder.DefineMethod(“Foo”,...

回答 2 投票 12

IL使用Reflection.Emit调用带有2个数组参数的方法

首先,我必须为IL成为菜鸟而言。我无法生成IL代码来调用具有此签名的方法:public void CallMethod2(string name,object [] args,object [] ...

回答 3 投票 4

电话和Callvirt

CIL指令“Call”和“Callvirt”之间有什么区别?

回答 6 投票 56

© www.soinside.com 2019 - 2024. All rights reserved.