【问题标题】:Possible to inject dynamic code using PostSharp AOP可以使用 PostSharp AOP 注入动态代码
【发布时间】:2018-08-17 20:59:18
【问题描述】:

假设我创建了一个自定义 PS 属性 InjectCodeAttribute 并将其应用于类或类成员,是否可以告诉 PostSharp 用作为字符串提供的动态 C# 代码替换该属性。

例如,我可以转这个吗:

[InjectCodeAttribute] public class MyClass

进入这个:

[DependencyProperty, Obfuscation(Feature = "renaming", Exclude = true, StripAfterObfuscation = true)] public class MyClass

通过将此字符串[DependencyProperty, Obfuscation(Feature = "renaming", Exclude = true, StripAfterObfuscation = true)] 提供给InjectCodeAttribute 属性?

注意:我知道 PostSharp http://doc.postsharp.net/attribute-introduction 提供的自定义属性功能,并且我可以创建一个注入示例属性的属性,但我只想知道是否可以注入任何代码(甚至是无效的代码)可能在编译期间引发异常/错误)我作为字符串提供。

【问题讨论】:

    标签: c# attributes aop postsharp


    【解决方案1】:

    对于所描述的用例,答案是否定的。 PostSharp 在 C# 编译已经完成并处理二进制程序集之后运行。此时为 C# 编译器添加字符串输入已经为时已晚。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 1970-01-01
      相关资源
      最近更新 更多