title: Triggering "CanExecute" on postsharp [Command] when a document changes?
body: <p>I am currently migrating a project to PostSharp to remove a lot of boilerplate code, most of it is going very smoothly but I'm left confused about how to force a command to recheck if it <code>CanExecute</code>. I expected PostSharp would inspect the command like it does properties to check for dependencies, here is a minimalist sample</p>
  
  <pre><code>[NotifyPropertyChanged]
  public class MyWindowViewModel
  {
      /// Anything bound to this refreshes just fine as expected
      public ObservableCollection&lt;SomeType&gt; Documents = new ObservableCollection&lt;SomeType&gt;();
  
     [Command]
     public ICommand AddDocumentCommand { get; set; }
     public void ExecuteAddDocument () { Documents.Add(new SomeType()); }
  
     [Command]
     public ICommand CloseDocumentCommand { get; set; }
     public bool CanExecuteCloseDocument () =&gt; Documents.Any(); 
     public void ExecuteCloseDocument () { Documents.Remove(Documents.Last()); }        
  }
  </code></pre>
  
  <p>At start the collection is empty and the button attached to the close command is greyed as expected, however adding a document through the button attached to <code>AddDocument</code> doesn't activate the close document button, what is the appropriate way to accomplish what I need? Is PostSharp only considering assignments and not method calls as changes or is it something else entirely?</p>