c#-WPF中的私有导入属性的CA1811警告
作者:互联网
我有一个公共Controller类,在其中使用以下属性
[Import]
private TransferRegionViewModel TransferRegionView { get; set; }
[Import]
private Lazy<IVoiceController> VoiceController { get; set; }
我收到以下CA警告:
CA1811 : Microsoft.Performance: ‘TransferController.VoiceController.set(Lazy)’ appears to have no upstream public or protected callers.
我正在使用VoicdeController属性为:
VoiceController.Value.CallTransfer(phoneNumber.PhoneNumber, true);
我提到了这个-Properties private set;,但不知道是否需要将属性设置为内部或私有.
解决方法:
一起使用MEF和代码分析时,这是“正常”警告.
您的属性将在运行时由MEF容器通过反射进行设置,因此,没有任何对属性设置器的调用,可以由CA静态证明.唯一的方法是通过SuppressMessage
属性抑制此消息:
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
[Import]
private Lazy<IVoiceController> VoiceController { get; set; }
标签:properties,mef,wpf,c,net 来源: https://codeday.me/bug/20191031/1976675.html