使用片段在定位器类中创建新的ViewModel时,它会创建一个清理方法但是Main中已经有一个可用,因此出现错误....
我们应该将它们全部合并吗?
或者我们应该将方法重命名为Cleanup [viewmodel的名称],例如。
我在这里有点困惑
我想问的另一个问题是关于命名约定。
我尝试遵循“MAIN”使用的命名约定......
因此我有CreateLogin,ClearLogin,Login(用于绑定的非静态属性)等等。
使用CreateLoginViewModel,ClearLoginViewModel等不是更好吗?
好奇的
谢谢
答案 0 :(得分:4)
这个代码段(以及一般的ViewModelLocator)需要工作,这将是V4的一个重大变化。
是的,目的是将片段生成的Cleanup方法与已经可用的方法合并。我们的想法是你可以调用ViewModelLocator.Cleanup()并让所有的VM自行清理(例如将它们的状态保存到本地存储,关闭流等等)。由于代码片段无法修改现有方法,因此我决定只复制Cleanup方法。它不会编译,因此开发人员应该知道合并它们。
也就是说,为每种VM类型设置CreateMain,ClearMain等并不令人满意。我想我们都同意这是一个弱实现,我想通过在未来提供通用的ViewModelLocator来改进它(V4)。
关于命名约定,它们只是约定。我厌倦了输入“ViewModel”,但随意使用你自己的约定。正如我所说,V4中可能不再需要该片段。同时道歉,给您带来不便;)(请注意,如果您愿意,可以轻松修改代码段)
干杯, 劳伦