2010-09-30 14 views
6

En utilisant VS 2010/.Net 4.0, l'analyse du code d'alerte CA1811 (voir ci-dessous) est tiré sur toutes les propriétés dans un ViewModel même à travers leur sont utilisés par XAML de liaison:Comment exclure des propriétés de ViewModel de CA1811

Avertissement CA1811: Microsoft.Performance: 'BackupWindowViewModel.BackupCommand.get()' semble n'avoir aucun appelant public ou protégé en amont.

public ICommand BackupCommand { get { return _backupCommand; } } <--- CA1811 

<Button Content="Backup" Command="{Binding BackupCommand}" /> 

En effet, l'analyse du code (actuellement) n'analyse pas XAML. Ma question est, est-il un moyen d'exclure toutes les propriétés dans tous ViewModels (par exemple les classes dérivant de ViewModelBase) de CA1811? Avoir à supprimer cet avertissement sur chaque propriété individuelle est une énorme douleur.

Répondre

2
  1. Ouvrir le projet Propriétés page. Cliquez sur la Build page de propriétés.
  2. En erreurs et les avertissements de la section, modifier les Avertissements Suppress propriété: /nowarn:1811

http://msdn.microsoft.com/en-us/library/7f28x9z3%28v=VS.100%29.aspx

+0

Merci, je ne même pas remarqué le 'Avertissements' la propriété Supprimer. Donc, au moins, cela peut être fait assez facilement au niveau d'un projet. (Cela signifie qu'il peut encore supprimer certains avertissements valides.) Je suppose que nous devons juste attendre que MS inclue l'analyse syntaxique XAML dans l'analyse de code pour résoudre complètement ceci, donc je marque ceci comme réponse pour l'instant, merci. –