Open SwingCosmic opened 1 year ago
I can't set value to FieldDefinition.Constant and FieldDefinition.HasConstant because it depends on the constant value inside of the assembly module.
FieldDefinition.Constant
FieldDefinition.HasConstant
private TypeDefinition CloneEnum(TypeDefinition type, ModuleDefinition target) { var baseType = target.ImportReference(typeof(Enum)); var newEnum = new TypeDefinition(type.Namespace, type.Name, type.Attributes, baseType); Console.WriteLine(type.Name); foreach (var f in type.Fields) { FieldDefinition field; if (!f.HasConstant) // value__ { field = new FieldDefinition(f.Name, f.Attributes, target.TypeSystem.Int32); } else { field = new FieldDefinition(f.Name, f.Attributes, newEnum); // next two lines doesn't work field.HasConstant = true; //still false field.Constant = f.Constant; // still null } newEnum.Fields.Add(field); } return newEnum; }
The result assembly contains the enums without any values.
And I'am really confused about this two properties:
I can't set value to
FieldDefinition.Constant
andFieldDefinition.HasConstant
because it depends on the constant value inside of the assembly module.The result assembly contains the enums without any values.
And I'am really confused about this two properties: