将重构方法转换为通用方法

时间:2017-01-04 18:17:57

标签: vb.net mvvm

我有这个正确的工作方法:

table, th, td {
    /* 1.965354px, this does not work */
    border: 0.52mm solid #ddd;
}

table, th, td {
    /* 2.00315px, this does work */
    border: 0.53mm solid #ddd;
}

创建并返回 ViewModelA 类型的对象,其属性为 Name Caption

(注意: ViewModelSource.Create 是3d方MVVM-Framework的一种方法,它返回给定POCO类的实例(此处为: ViewModelA ))。

一些ViewModel需要此方法,并且每个ViewModel实际上都有自己的方法。此方法仅在类型上有所不同( ViewModelA,ViewModelB,ViewModelC ... )。

我想要实现的只是一个单一的泛型方法,它返回一个给定为参数的类型的对象 - 如下面的幻想代码:

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(Of T)(panelName As String, panelCaption As String) As T
    Return ViewModelSource.Create(Function() New T With {
        .Name = panelName,
        .Caption = panelCaption
    })
End Function

1 个答案:

答案 0 :(得分:0)

听起来你在谈论factory pattern的实现。