У меня есть класс с именем Test, и я создал экземпляр этого класса в нескольких других классах. Есть ли способ программно найти все ссылки на класс «Исправить». Я знаю, что могу найти это с помощью Find All References в VisualStudio, но я хочу добиться этого программно для своего требования. Любая помощь, пожалуйста.
Пример: Fix.cs
namespace Testing
{
public class Fix
{
public string fixName = "Name";
}
}
CodeFix.cs
namespace Testing
{
public class CodeFix
{
private string GetName()
{
Fix fix = new Fix();
return fix.fixName;
}
}
}
Теперь я хочу написать код для поиска всех ссылок на переменную "fixName"
в моем решении (тестирование пространства имен). Могу ли я каким-либо образом добиться этого программно либо для класса, либо для переменной. Я хотел бы получить результат с именем файла и строкой кода, на которую ссылается переменная.
Пример:
Result
{
FileName="CodeFix.cs",
Line=return fix.fixName;
}
Я должен автоматизировать приведенный ниже сценарий, для которого мне нужно найти все ссылки. Мне следует не использовать общедоступные поля, поэтому, когда я нахожу общедоступное поле, такое как "fixName", я должен изменить fixName с общедоступного на приватное, а затем открыть то же самое с использованием свойства.
private string fixName;
public string FixName
{
get { return fixName; }
set { fixName = value; }
}
поэтому я должен изменить файл codeFix.cs - строка return fix.fixName;
должна быть изменена с именем свойства return fix.FixName;
.
У меня есть проект VSIX для исправления нарушения кода. Мне нужно реализовать это "автоматическое исправление", чтобы избежать использования общедоступных полей. Случайно ли есть способ получить данные Visual Studio -> Find All References?
Test
. Более того, выполнение этого во время работы вашей программы имеет сомнительную ценность. Какова бы ни была причина, которая заставила вас думать, что вы хотите иметь возможность сделать это, я подозреваю, что есть другой, гораздо лучший способ сделать это. - person Peter Duniho   schedule 17.01.2018