Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio可视化工具_C#_Runtime_Code Injection - Fatal编程技术网

C# Visual Studio可视化工具

C# Visual Studio可视化工具,c#,runtime,code-injection,C#,Runtime,Code Injection,为了说明这一点,我使用的是.NET3.5 我目前正在创建一个VisualStudio可视化工具,以便能够查看WF规则集中各个规则的值。一切都很好,但现在我需要做以下事情 假设我有一个规则是“this.Age>50”,一个动作是MessageBox.Show(“大于50”),另一个动作是MessageBox.Show(“小于50”) 我需要能够选择规则“this.Age>50”,并将其评估为真或假。或者我需要选择规则的一部分,例如“this.Age”,并将其评估为70 这最后一点起作用了。我获取规

为了说明这一点,我使用的是.NET3.5

我目前正在创建一个VisualStudio可视化工具,以便能够查看WF规则集中各个规则的值。一切都很好,但现在我需要做以下事情

假设我有一个规则是“this.Age>50”,一个动作是MessageBox.Show(“大于50”),另一个动作是MessageBox.Show(“小于50”)

我需要能够选择规则“this.Age>50”,并将其评估为真或假。或者我需要选择规则的一部分,例如“this.Age”,并将其评估为70

这最后一点起作用了。我获取规则集执行的对象,获取文件,并尝试查找一个名为Age的字段,如果找到,则获取其值,如果找不到该字段,则查看属性。这是有效的

问题是评估“this.Age>50”。当然,在这种情况下,我可以做一个解析器并对其求值,但问题是我必须求值“this.Age>50”,“this.Age<50”。。。我想你理解这个问题。当然,我还想计算,例如,“this.GetCurrentAge()”,其中GetCurrentAge()是类中的一个方法,该类由执行规则集的上下文的对象表示

我想我可以尝试在运行时将一个方法注入到我当前拥有并实例化的对象中。通过这种方式,我可以创建像

public string EvaluationMethod()
{
return (this.Age > 50).ToString();
}
在本例中,我将在运行时构建此方法并将其注入到对象的当前实例中

问题是我似乎找不到一种方法将代码注入到对象的当前实例中。我只能找到关于如何在运行时创建新类的示例,但没有关于仅创建方法并注入它的示例

有人能帮忙吗,或者给出其他想法

谢谢