…è troppo nemica del compilatore e se in una giornata scrivete montagne di codice il rischio di scrivere minch*ate è alto, e in questo caso neanche gli Unit Test sono d’aiuto:
namespace Topics.Runtime.ViewModel
{
    using ...;
[Component( typeof( IEstimateWizardViewModel ), Lifestyle = Lifestyle.Transient )] sealed class EstimateWizardViewModel : ViewModelBase<IEstimateWizardView>, IEstimateWizardViewModel { public static readonly DependencyProperty IsBusyProperty = DependencyProperty.Register( "IsBusy", typeof( Boolean ), typeof( EstimateViewModel ), new PropertyMetadata( false ) ); public Boolean IsBusy { get { return ( Boolean )this.GetValue( IsBusyProperty ); } private set { this.SetValue( IsBusyProperty, value ); } }
} }
  • Nessun errore di compilazione;
  • Nessun errore a runtime;
  • Nulla nella Output Window di Visual Studio a runtime;
  • Nessun test che fallisce: il comportamento è quello attesto;
Semplicemente non funziona… ci ho perso almeno mezz’ora… poi mi sono reso conto, dopo un buon caffè, che quando ho registrato la DependencyProperty ho scelto, nell’intellisense di Visual Studio, il tipo dell’Owner (il 3° parametro del metodo Register) sbagliato: EstimateViewModel invece di EstimateWizardViewModel
Scomodo decisamente scomodo, e non ditemi di scrivere un test per verificarlo perchè ci manca solo quello… ;-)
.m