C# - 识别源代码中的变量用法

时间:2016-02-26 15:19:50

标签: c# .net metaprogramming

我目前正在寻找一个可以找到使用变量的代码部分的库,并用其他代码替换它们。

例如,在此代码中:

int foo = 0;
int a = foo * 5;

库可以识别foo,以便我可以用它代替它:

int foo = 0;
int a = DoSomething(foo) * 5;

有类似的东西吗?

提前谢谢。

编辑:我忘了说我不知道​​这些变量的名称。我必须识别它们然后替换代码。例如,我需要找出 foo 是一个变量而不是方法/注释/其他任何东西然后替换它。

2 个答案:

答案 0 :(得分:0)

根据您要执行此操作的原因,可能不是更改使用foo的代码,而是可以更改其定义:

int foo = 0;
int a = foo * 5;

变得类似

int _foo = 0;
int foo
{
    get
    {
        return DoSomething(_foo);
    }
}
int a = foo * 5;

答案 1 :(得分:-1)

看起来您尝试使用的库是模糊的。它不会像替换字符串那样简单。可能有一些工具来撤消dotfuscation。我不知道任何事情,但搜索可能会让你落到某处。