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\""

Подскажите как решить?


Ответы (0 шт):