Моя задача - найти свойства с определенными атрибутами в файлах .cs.Таким образом, я получаю файлы .cs и должен искать их по определенным атрибутам и сохранять их в XML.
Таким образом, в каждом свойстве с атрибутом [ID] я должен хранить значение вместе с идентификатором.В контексте того, как я должен понимать это, используются слова «компилятор точно в срок» и «отражение».Но я не знаю, с чего начать, потому что раньше я никогда не работал с компилятором / отражениями Just-in-Time.
Сначала я попробовал это с регулярными выражениями, но там я не смог получить свойства.Как я могу получить значение свойства, когда я загружаю файл .cs в виде строки?(или что мне вместо этого делать?) Файл .cs, в котором я ищу:
[ID(12345678)]
public string quack {get; set}
Мой скрипт, который я пробовал:
string document = File.ReadAllText(@"FilePath.cs");
var searchPatternID = @"(?<![\p{Zs}\t]*//.*)(?<!/\*(?:(?!\*/)[\s\S\r])*?)\[[\n\r\s]*ID(.*?\n*?)*?\]";
var matches = Regex.Matches(document, searchPatternID );
foreach (var m in matches)
{
Console.WriteLine(m);
}
Здесь я только ищу идентификатор.Как я могу получить значение "кряк"?
Что я ожидаю:
[ID(12345678)]
public string quack {get; set}
public string wuff {get; set}
Здесь я бы ожидал значение кряка вместе с идентификатором.