C# 如何在C中通过Mono.Cecil v0.9.5重命名方法中的变量#

C# 如何在C中通过Mono.Cecil v0.9.5重命名方法中的变量#,c#,mono.cecil,C#,Mono.cecil,我想重命名方法中定义的变量 假设我的方法是: public void PrintWelcome() { StringBuilder myMessageBuilder = new StringBuilder(); int linesCount = 10; for (int i = 0; i < linesCount; i++) { myMessageBuilder.Append(Console.ReadLine()); myMessag

我想重命名方法中定义的变量

假设我的方法是:

public void PrintWelcome() {
    StringBuilder myMessageBuilder = new StringBuilder();
    int linesCount = 10;
    for (int i = 0; i < linesCount; i++) {
        myMessageBuilder.Append(Console.ReadLine());
        myMessageBuilder.Append(Environment.NewLine);
    }

    Console.Write(myMessageBuilder.ToString());
}
但是我的变量名没有改变,当我打印
variableDef.name
时,它打印了


有人能帮我重命名方法变量吗?

变量编译后没有名称。像这样的信息存储在pdb文件中,而不是程序集本身。

你到底为什么要这样做?
foreach (MethodDefinition methodDef in typeDef.Methods) {
    if (methodDef.HasBody) {
        foreach (var variableDef in methodDef.Body.Variables) {
            variableDef.Name = GetRandomName();
        }                                    
    }