Dnlib, как заменить правильно текст массива string array?
Оригинал того что должно получиться в итоге.
public static string[] ss = new string[]
{
".data", ".txt", ".sfc", ".crypt"
};
Что получается на выходе в итоге на данный момент сейчас у меня:
public static string[] ss = new string[]
{
"\".data\", \".txt\", \".sfc\", \".crypt\""
};
Мне нужно из textBox заменить данные типа .data .txt .sfc .crypt
за место "$DATA" чтобы текст был со скобочками и запятыми как в начале
".data", ".txt", ".sfc", ".crypt" - что должно быть в итоге.
public static string[] ss = new string[]
{
"$DATA"
};
У меня есть публичный словарь в который я помещаю данные
public static Dictionary<string, string> DicPairs = new Dictionary<string, string>
Добавляю данные в словарь из TextBox
string res = string.Join(", ", Enumerable.Select(DicPairs["MyText"].Split(), s => $"\"{s}\"");
// $"\"{s}\"" - чтобы между текстом были скобки и запятая типо ".data", и.т.д
DicPairs.Add("MyText", textBox1.Text);
Перебираю бинарный файл так:
foreach (TypeDef types in module.GetTypes())
{
foreach (MethodDef m in types.Methods)
{
var instr = m.Body.Instructions;
for (var i = 0; i < m.Body.Instructions.Count; i++)
{
// string res = string.Join(", ", Enumerable.Select(DicPairs["MyText"].Split(), s => $"\"{s}\"");
// instr[i].Operand = DicPairs["MyText"]; // Тут происходит замена на мою строку
instr[i].Operand = string.Join(", ", Enumerable.Select(DicPairs["MyText"].Split(), s => $"\"{s}\""); // Тут происходит замена на мою строку
}
}
}
...
Но почему-то всегда когда я открываю файл в DnSpy, то вижу записи в виде данных строк:
"\".data\", \".txt\", \".sfc\", \".crypt\""
Подскажите как решить?