Получить статическое строковое значение только для чтения через dll, используя Mono.Cecil?

У меня есть файл кода cs, например:

public class Constants
{
    public static readonly string test="testcontent";
} 

Когда я использую Mono.Ceil для разбора dll, я не могу найти строку "testcontent".

Я протестировал API Field.InitialValue, который пуст.

Затем я пишу еще один тестовый код. Затем я обнаружил, что доступ к строке только для чтения можно получить с помощью ldsfld. Но я понятия не имею, как я могу получить к нему доступ в коде.

Затем я проверил все, используя il dasm. Нигде не могу найти строку.

Если это невозможно сделать, любые подсказки будут полезны.


person AlexWei    schedule 11.02.2019    source источник


Ответы (1)


Статические поля инициализируются как часть статического конструктора или инициализаторов типов. При использовании ildasm вы можете найти строку в .cctor

person Ramesh    schedule 11.02.2019
comment
Как-то я этим пренебрегаю. Спасибо. - person AlexWei; 11.02.2019