使用本地/匿名操作时不会触发MvvmLight消息

当我使用匿名操作时,MvvmLight messenger有时不起作用。 如果我传递成员变量或方法作为操作它工作正常,但使用匿名lambda或局部变量不起作用。

private SongCollection songCollection; Action c; public MyService(SongCollection songCollection) { this.songCollection = songCollection; Action a = (bool isLoading) => { ChangeSong(songCollection.GetFirstSong()); }; Action b = OnLoadingComplete; //Using this instead of 'a' works. //c = a; //Uncommenting this line makes it work, even if using 'a'. Messenger.Default.Register(this, "IsLoading", a); //Doesn't work. } 

我猜它与垃圾收集或MvvmLight在幕后工作的方式有关。 还是我错过了一些明显的东西?

我在4.3.31.1上使用的是MvvmLight 4.3.31.1版本。