【发布时间】:2021-07-05 02:44:52
【问题描述】:
我有一个 C# 程序,它有一个类:
public class Test
{
internal const string a = "some value";
private DateTime b = new DateTime();
}
如何使用 Mono Cecil 更改它们的初始值,使其看起来像这样:
public class Test
{
internal const string a = "test";
private DateTime b = DateTime.MaxValue;
}
目前我只有以下骨架代码,不知道如何修改字段。
void Main()
{
var input = @"C:\my_projects\a.exe";
var asm = AssemblyDefinition.ReadAssembly(input);
foreach (ModuleDefinition module in asm.Modules)
{
foreach (TypeDefinition type in module.GetTypes())
{
foreach (var field in type.Fields)
{
if (field.Name == "a")
{
}
else if (field.Name == "b")
{
}
}
}
}
asm.Write(@"c:\my_projects\b.exe");
}
【问题讨论】:
标签: c# field mono.cecil