Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.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# C-识别源代码中的变量用法_C#_.net_Metaprogramming - Fatal编程技术网

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

C# C-识别源代码中的变量用法,c#,.net,metaprogramming,C#,.net,Metaprogramming,我目前正在寻找一个库,它可以找到使用变量的部分代码,并用其他代码替换它们 例如,在本代码中: int foo = 0; int a = foo * 5; 库可以识别foo,以便我可以用以下内容替换它: int foo = 0; int a = DoSomething(foo) * 5; 是否存在类似的情况 先谢谢你 编辑:我忘了说我不知道这些变量的名称。我必须识别它们,然后替换代码。例如,我需要找出foo是否是一个变量,而不是一个方法/注释/任何其他内容,然后替换它。看起来您试图使用的库已经

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

例如,在本代码中:

int foo = 0;
int a = foo * 5;
库可以识别foo,以便我可以用以下内容替换它:

int foo = 0;
int a = DoSomething(foo) * 5;
是否存在类似的情况

先谢谢你


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

看起来您试图使用的库已经模糊。换掉这根绳子就不那么容易了。可能有一些工具可以撤消点融合。我不知道有什么问题,但搜索可能会让你有所收获。

根据你为什么要这样做,也许你可以改变使用foo的代码,而不是改变它的定义:

int foo = 0;
int a = foo * 5;
变得有点像

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

你在找罗斯林,你能不能不写一封?听起来像是一个非常简单的文本解析器,您只需使用查找字符串并替换它。是在运行时还是在代码时?如果是在代码时,只需使用visual studio的替换实用程序即可。@Jacobr365:否;字符串或注释呢?@Jacobr365您低估了构建静态分析器的复杂性……您是如何得出这与模糊处理有关的结论的?对不起,我没有做任何与模糊处理相关的事情。对不起,我解释得不好。如果是C6,你可以用一个表达式:int foo=>DoSomething\u foo;