【问题标题】:Mono.Cecil GetTypeReference to ICommandMono.Cecil GetTypeReference 到 ICommand
【发布时间】:2013-05-14 14:37:06
【问题描述】:

System.Windows.Input.ICommand 接口在 .NET 4.5 中已从 PresentationCore.dll 中的类型转发到 System.dll。我有两个问题:

  1. 如何导入此接口,以便可以将其用作要注入到类中的属性的返回类型(不需要属性注入方面的帮助,只需类型解析/导入)?

  2. 我如何确保生成的程序集可以在未安装 .NET 4.5 且没有将 ICommand 类型转发到 System.dll 的 .NET 4 客户端上运行?

该代码旨在用于自定义Fody weaver。

【问题讨论】:

    标签: .net aop mono.cecil fody


    【解决方案1】:

    你必须明确地处理它。

    例如查找可以存在于差异程序集中的Action

    var msCoreLibDefinition = assemblyResolver.Resolve("mscorlib");
    var msCoreTypes = msCoreLibDefinition.MainModule.Types;
    var systemDefinition = assemblyResolver.Resolve("System");
    var systemTypes = systemDefinition.MainModule.Types;
    var actionDefinition = msCoreTypes.FirstOrDefault(x => x.Name == "Action");
    if (actionDefinition == null)
    {
        actionDefinition = systemTypes.First(x => x.Name == "Action");
    }
    

    【讨论】:

      猜你喜欢
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      • 1970-01-01
      • 2011-12-09
      • 2013-08-05
      • 2021-10-09
      • 1970-01-01
      相关资源
      最近更新 更多