【发布时间】:2021-10-09 13:59:36
【问题描述】:
我正在开发 Mono.Cecil codegen util,我想执行以下操作:
Loop through types
If type contains X attribute:
- Add ITestInterface implementation (where ITestInterface has defined some methods)
// For reference
public interface ITestInterface
{
void Something();
int IntSomething();
}
// Expected result, if type contains X attribute:
// Before codegen:
[X]
public class CodeGenExample
{
}
// After codegen
[X]
public class CodeGenExample : ITestInterface
{
public void Something()
{
// some stuff
}
public int IntSomething()
{
// do some stuff
return 0;
}
}
我看到 .NET Reflection 有一个 AddInterfaceImplementation 方法 (https://docs.microsoft.com/pl-pl/dotnet/api/system.reflection.emit.typebuilder.addinterfaceimplementation?view=net-5.0)。
是否有 Mono.Cecil 等效项或解决方法以及如何使用它?
【问题讨论】:
标签: reflection mono code-generation mono.cecil