首页 新闻 会员 周边

属性访问器里有一个这个特性[UsedImplicitly]是用来做什么的

0
悬赏园豆:10 [已解决问题] 解决于 2015-11-14 11:37

直接看代码吧

private string FlightRegex { [UsedImplicitly] get; set; }

private string UrlTemplate { get; set; }

由于这个特性提示:

错误 1 未能找到类型或命名空间名称“UsedImplicitlyAttribute”(是否缺少 using 指令或程序集引用?)

D:\项目路径\QuNarFlightControl\QuNarFlightControl.cs

实在不明所以,发出来问下大家

最佳损友。的主页 最佳损友。 | 初学一级 | 园豆:63
提问于:2014-04-10 10:22
< >
分享
最佳答案
0

UsedImplicitly是Resharper这个插件生成的东西,这个插件在项目的Properties下生成一个叫做Annotations.cs的类。属性原型是酱紫的:

  /// <summary>
  /// Indicates that the marked symbol is used implicitly
  /// (e.g. via reflection, in external library), so this symbol
  /// will not be marked as unused (as well as by other usage inspections)
  /// </summary>
  [AttributeUsage(AttributeTargets.All, AllowMultiple = false, Inherited = true)]
  public sealed class UsedImplicitlyAttribute : Attribute
  {
    public UsedImplicitlyAttribute()
      : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) { }

    public UsedImplicitlyAttribute(ImplicitUseKindFlags useKindFlags)
      : this(useKindFlags, ImplicitUseTargetFlags.Default) { }

    public UsedImplicitlyAttribute(ImplicitUseTargetFlags targetFlags)
      : this(ImplicitUseKindFlags.Default, targetFlags) { }

    public UsedImplicitlyAttribute(
      ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags)
    {
      UseKindFlags = useKindFlags;
      TargetFlags = targetFlags;
    }

    public ImplicitUseKindFlags UseKindFlags { get; private set; }
    public ImplicitUseTargetFlags TargetFlags { get; private set; }
  }

 

Resharper有个功能是检查你代码中定义的变量是否被使用过,如果你定义的变量没有被使用过,Resharper会给你个警告,加上UsedImplicitly这个标记就表示Resharper检查时跳过这个变量,不检查该变量是否被使用过。

收获园豆:10
手抓宝 | 菜鸟二级 |园豆:212 | 2014-08-18 16:38
其他回答(1)
0

不明觉厉。

lucika.zh | 园豆:62 (初学一级) | 2014-04-11 17:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册