繁体   English   中英

在可移植库中使用CallerMemberName属性

[英]Using CallerMemberName attribute in a portable library

我有一个可移植的库,其目标是使用.net 4.5框架的Windows Phone 7.1+和Windows Store应用程序(用于WinRT)。

我想在其中使用新的[CallerMemberName]属性。 但是,VS2012告诉我这个属性在我的便携式库中不可用(这看起来很正常,因为它在WP7.1项目中不可用)。

然而,我发现我可以创建自己的属性,编译器将通过使用此片段将其理解为真实属性:

namespace System.Runtime.CompilerServices
{
  [AttributeUsage(AttributeTargets.Parameter, Inherited = false)]
  public sealed class CallerMemberNameAttribute : Attribute { }
}

但是,只要尝试编译它,我就会收到错误The type 'System.Runtime.CompilerServices.CallerMemberNameAttribute' exists in both 'Portable.dll' and 'mscorlib.dll'

我理解这条消息,但我想知道是否有办法在我的便携式lib中使用[CallerMemberName] 我可能错过了什么。

使用BCL Portability Pack为旧版本提供这些属性。

此软件包支持面向.NET Framework 4,Silverlight 4和5以及Windows Phone 7.5(包括任何可移植库组合)的项目使用.NET的更高版本中的新类型,包括:

  • CallerMemberNameAttribute

  • CallerLineNumberAttribute

  • CallerFilePathAttribute

  • ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM