2016-02-26 3 views
-2

В настоящее время я ищу библиотеку, которая может найти части кода, где используются переменные, и заменить их другим кодом.C# - Определить использование переменной в исходном коде

К примеру, в этом коде:

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

библиотека может идентифицировать Foo, так что я мог бы заменить его следующим образом:

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

ничего подобное существует?

Заранее спасибо.

EDIT: Я забыл сказать, что я не знаю названия этих переменных. Я должен идентифицировать их как таковые, а затем заменить код. Например, мне нужно выяснить, является ли foo переменной, а не методом/комментарием/чем-либо еще, а затем заменить его.

+0

Вы ищете Рослин. – SLaks

+0

Не могли бы вы написать один? звучит как довольно простой текстовый парсер, в котором вы просто используете строку поиска и заменяете ее. – Jacobr365

+1

Во время выполнения или в кодовое время? если в кодовое время просто используйте утилиту замены visual studio. – Gusman

ответ

-1

Похоже, что библиотека, которую вы пытаетесь использовать, обфускации. Это не будет так просто, как заменить строку. Может быть какой-то инструмент для отмены дефляции. Я не знаю никого, но поиск может приземлиться где-нибудь.

+1

Как вы пришли к выводу, что это связано с обфускацией? – user469104

+0

Прошу прощения, но я не делаю ничего, что связано с запутыванием. Извините за мое плохое объяснение. – samuelemarro

0

В зависимости от того, почему вы хотите сделать это, может быть, вместо того чтобы изменить код, в котором foo используется вы могли бы изменить свое определение:

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

становится чем-то вроде

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

Если это C# 6, вы можете использовать выражение: 'int foo => DoSomething (_foo);' –