Vb.net 将方法重构为泛型方法
我有一个恰当的工作方法:Vb.net 将方法重构为泛型方法,vb.net,mvvm,Vb.net,Mvvm,我有一个恰当的工作方法: Public Shared Function Create(panelName As String, panelCaption As String) As ViewModelA Return ViewModelSource.Create(Function() New ViewModelA() With { .Name = panelName, .Caption = panelCaption }) End Function
Public Shared Function Create(panelName As String, panelCaption As String) As ViewModelA
Return ViewModelSource.Create(Function() New ViewModelA() With {
.Name = panelName,
.Caption = panelCaption
})
End Function
它创建并返回ViewModelA类型的对象及其属性名称和标题
(注意:ViewModelSource.Create是3d party MVVM框架的一个方法,它返回给定POCO类的实例(此处:ViewModelA))
有几个ViewModel需要这种方法,每个ViewModel实际上都有自己的方法。此方法仅在类型(ViewModelA、ViewModelB、ViewModelC…)上有所不同
我想要实现的只是一个泛型方法,它返回作为参数给定类型的对象,如下面的幻想代码:
Public Shared Function Create(Of T)(panelName As String, panelCaption As String) As T
Return ViewModelSource.Create(Function() New T With {
.Name = panelName,
.Caption = panelCaption
})
End Function
使用这样的方法:
Dim vmA As ViewModelA = Create(Of ViewModelA)("myName", "myCaption")
听起来您正在谈论的是。为什么需要
Create
方法?您知道类型ViewModelA
和所需值-因此您可以使用newviewmodela和{.Name=“Name”,.Caption=“Caption”}
MVVM框架(DevExpress MVVM)需要使用ViewModelSource创建ViewModels。创建方法可以利用此框架的优势。