Как исправить CA1051 на полях в коде xaml? - PullRequest
1 голос
/ 25 ноября 2011

Я использую FxCop для своего кода Silverlight и, похоже, получаю много кодов ошибок CA1051:

Error, Certainty 90, for DoNotDeclareVisibleInstanceFields

Target       : #msgTextBox  (IntrospectionTargetMember)
Resolution   : "Because field 'MessagingControl.msgTextBox' is 
               visible outside of its declaring type, change its accessibility 
               to private and add a property, with the same accessibility 
               as the field has currently, to provide access to it."
Help         : http://msdn.microsoft.com/library/ms182141(VS.100).aspx  (String)
Category     : Microsoft.Design  (String)
CheckId      : CA1051  (String)
RuleFile     : Design Rules  (String)
Info         : "Instance fields that are visible outside of the type 
               that declares them, limit your ability to change the 
               implementation details for those data items. Use properties 
               instead. They do not compromise usability or performance 
               and they do provide flexibility in that they conceal 
               the implementation details of the underlying data."
Created      : 25/11/2011 10:59:54  (DateTime)
LastSeen     : 25/11/2011 14:57:49  (DateTime)
Status       : Active  (MessageStatus)
Fix Category : NonBreaking  (FixCategories)

Большинство из них, похоже, из x:Name в xaml, так что я не думаю, что это можно исправить? Что я могу сделать, чтобы исправить эти ошибки, кроме подавления их всех?

1 Ответ

2 голосов
/ 25 ноября 2011

Видимость по умолчанию для полей управления установлена ​​как внутренняя.

используйте x:FieldModifier="<modifier>" например <TextBox x:Name="msgTextBox" x:FieldModifier="private" /> для управления этим поведением.

...