Mono.Cecil - добавить новый тип атрибута в сборку - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь добавить новый тип атрибута в сборку с помощью Mono.Cecil.

Я хочу, чтобы это выглядело так:

internal class ConfusedByAttribute : Attribute
{
}

Но в настоящее время я получаю тот же результат только без части : Attribute (System.Attribute).

Вот мой код:

var assemblyDef = AssemblyDefinition.ReadAssembly(args[0]);
var tp = new TypeDefinition(
    "", 
    "ConfusedByAttribute",
    Mono.Cecil.TypeAttributes.NestedPrivate);
assemblyDef.MainModule.Types.Add(tp);
assemblyDef.Write(args[0] + "neW");

Любая помощь приветствуется, спасибо!

1 Ответ

0 голосов
/ 08 июня 2018

Вам необходимо добавить атрибут в качестве базового типа:

tp.BaseType = assemblyDef.MainModule.ImportReference(typeof(Attribute));

...