Pracuję przez kilka samouczków online uczących się Caliburn.Micro po raz pierwszy. Niektóre samouczki używają starszej wersji 1.3.0, używam nowszej wersji 2.0.0.6, która była najnowszym pakietem Nuget, który jest prawdopodobnie źródłem tej rozbieżności:Caliburn.Micro IEventAggregator Metoda publikacji brakuje przeciążenia
Podczas próby opublikowania następującego komunikatu:
public void Red()
{
_events.Publish(new ColorEvent(new SolidColorBrush(Colors.Red)));
}
Kompilator zgłasza błąd informujący, że nie znaleziono przeciążenia. Jedyne przeciążenie dla Publish, które jest dostępne, ma następujący podpis: void Publish (komunikat obiektowy, Action marszałek)
Mam to do pracy przy użyciu metody wątku pracującego w tle pokazanego poniżej, ale w moim przypadku wydaje się to przesadą. Czy przeciążenie pojedynczego parametru zostało rzeczywiście usunięte z Caliburn.Micro?
Ponadto dokumentacja jest tutaj: https://caliburnmicro.codeplex.com/wikipage?title=The%20Event%20Aggregator nadal pokazują przykłady, używając bardziej podstawowego przykładu pojedynczego parametru, w którym wystarczy przekazać wiadomość. Czy najnowsza dokumentacja, która poprawnie opisuje wersję 2.0.0.6, znajduje się w dokumentacji?
public void Red()
{
_events.Publish(new ColorEvent(new SolidColorBrush(Colors.Red)),
action => Task.Factory.StartNew(action));
}
Wreszcie na punkty bonusowe:
Co to jest dobre dla 2. parametr inny niż publikowanie wiadomości na wątek tła? Czy ktoś może podać inny przykład tego, do czego może służyć to przeciążenie?
Dziękuję Anders ... – Sean
nie ma EventAggregator.PublishOnUIThread w 2.0.2 :( – oleksa
udało mi ją .Publish (wartość, nowy EventAggregator(). PublishOnUIThread) gdzie PublishOnUIThread jest metodą rozbudowa z Caliburn .Microsoft.EventAggregatorExtensions – oleksa