相关疑难解决方法(0)

使用Roslyn解析/转换/生成代码:我的目标是太高还是太低?

(我要做的是通过从vs生成的设置文件生成接口和包装类来解决Application.Settings/MVVM问题.)

我想做的是:

  • 从文件中解析类声明
  • 仅基于类的(非静态)属性生成接口声明
  • 生成一个实现此接口的包装类,在构造函数中获取原始类的实例,并将所有属性"管道"到实例.
  • 生成另一个直接实现接口的类.

我的问题是双重的:

  • 我吠叫错了树吗?我会更好地使用Code-Dom,T4,Regex(!)来实现这个目标,还是部分原因?(我不介意一些额外的工作,因为这主要是一种学习经历.)
  • 如果罗斯林是要走的路,我应该关注哪一点?我有点天真地希望有一些方法可以走树并吐出我想要的东西,但是我无法理解是否/如何使用SyntaxRewriter来实现它,或者是否要使用流畅的结构,多次查询源我需要的位.

如果你想评论MVVM方面,你可以,但这不是问题的主旨:)

c# code-generation roslyn

22
推荐指数
4
解决办法
9424
查看次数

WPF MVVM从ViewModel在视图上触发事件的正确方法

在我的WPF应用程序中,我有2个Windows(两个Windows都有自己的ViewModel):

  1. 应用程序的主窗口,显示带有一堆单词的列表(绑定到MainViewModel)

  2. 允许用户将新项添加到列表中的对话窗口(绑定到AddWordViewModel)

MainViewModel具有List的Items属性(此集合由其中一个服务类填充)绑定到Main Window的ListBox

AddWordViewModel具有绑定到"添加单词对话框"的"保存"按钮的SaveWordCommand.它的任务是获取用户输入的文本并将其传递给服务类.

用户单击"保存"按钮后,我需要通知MainViewModel从服务中重新加载文章.

我的想法是在MainViewModel中公开public命令并从AddWordViewModel执行它

实施它的正确方法是什么?

谢谢!

.net wpf binding command mvvm

20
推荐指数
1
解决办法
2万
查看次数

标签 统计

.net ×1

binding ×1

c# ×1

code-generation ×1

command ×1

mvvm ×1

roslyn ×1

wpf ×1