可以考虑用 CommunityToolkit.Mvvm
Sarofc opened this issue · 7 comments
这个库用了SourceGenerators,写ViewModel简化了很多,可以平替掉 Command、Observable、Messenger
https://learn.microsoft.com/zh-cn/dotnet/communitytoolkit/mvvm/
看起来好像还真可以平替,不过对老项目有兼容性问题。我这里面有代码生成工具。你去看我里面的Fody相关的插件,都是代码自动生成,不需要写的。
它这里面集成的代码生成工具是跟VS编辑器结合的吧?要跟Unity集成应该还需要做很多工作。Fody也是跟VS绑定的,我把Fody跟Unity集成几乎完全重写了这部分代码。
以后等Unity 支持.Net Core 了,框架升级到3.0版本,可以考虑使用这个库。不过要把代码生成这套集成到Unity编译器,估计是一个不小的工作。
看起来好像还真可以平替,不过对老项目有兼容性问题。我这里面有代码生成工具。你去看我里面的Fody相关的插件,都是代码自动生成,不需要写的。
它这里面集成的代码生成工具是跟VS编辑器结合的吧?要跟Unity集成应该还需要做很多工作。Fody也是跟VS绑定的,我把Fody跟Unity集成几乎完全重写了这部分代码。
unity2022,直接用NugetForUnity安装CommunityToolkit.Mvvm包就可以直接用了,il2cpp打包也没问题。unity2021我没测试过
看起来好像还真可以平替,不过对老项目有兼容性问题。我这里面有代码生成工具。你去看我里面的Fody相关的插件,都是代码自动生成,不需要写的。
它这里面集成的代码生成工具是跟VS编辑器结合的吧?要跟Unity集成应该还需要做很多工作。Fody也是跟VS绑定的,我把Fody跟Unity集成几乎完全重写了这部分代码。unity2022,直接用NugetForUnity安装CommunityToolkit.Mvvm包就可以直接用了,il2cpp打包也没问题。unity2021我没测试过
CommunityToolkit.Mvvm 本身肯定可以用,它支持.netstandard2.1,我说的是代码生成器,它是跟MSBuild集成的,要监听MSBuild的编译事件才能织入代码。这跟Unity2022应该不兼容吧!
我搞个Untiy2022试试
Unity2022 还真可以织入,不错!
看起来好像还真可以平替,不过对老项目有兼容性问题。我这里面有代码生成工具。你去看我里面的Fody相关的插件,都是代码自动生成,不需要写的。
它这里面集成的代码生成工具是跟VS编辑器结合的吧?要跟Unity集成应该还需要做很多工作。Fody也是跟VS绑定的,我把Fody跟Unity集成几乎完全重写了这部分代码。unity2022,直接用NugetForUnity安装CommunityToolkit.Mvvm包就可以直接用了,il2cpp打包也没问题。unity2021我没测试过
谢谢你给我分享这个库,挺不错的。Unity也支持MSBuild了,真是太爽了。回头出3.0,直接用这个库。有了MSBuild、Roslyn这些的支持,回头可以做更多的代码生成和性能优化了。