使用基础模型的值初始化从基础模型继承的视图模型

翼翼

我有一个返回的函数 Class1Model

Class1Model model = GetClass1Model();

我还有一个Class1ViewModel继承自Class1Model的,我添加了一些仅获取属性以在视图中进行格式化。

public class Class1ViewModel : Class1Model  
{
    public string MyFormattedProperty => $"{base.Height:###.00} x {base.Width:###.00}" 
}

所以我希望我能做到这一点:

Class1Model model = GetClass1Model();
var viewModel = model as Class1ViewModel;

但这不起作用

那么这通常是如何完成的呢?

希腊语40

我建议使用组合方法而不是继承。

class Class1Model
{
    // model properties
}

class Class1ViewModel
{
    public Class1ViewModel(Class1Model model)
    {
        _Model = model;
    }

    private Class1Model _Model;
    public Class1Model Model { get { return _Model; } }

    // viewmodel specific extensions

    public string MyFormattedProperty => $"{Model.Height:###.00} x {Model.Width:###.00}"
}

如果您希望模型属性发生更改,您应该使用一些弱事件侦听器订阅模型属性更改,并为相关视图模型属性发出适当的属性更改事件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

骨干模型初始化

来自分类Dev

模型对象初始化

来自分类Dev

初始化模型对象

来自分类Dev

CodeIgniter无法实例化扩展抽象基础模型的模型

来自分类Dev

我应该总是初始化视图模型对象吗?

来自分类Dev

我应该总是初始化视图模型对象吗?

来自分类Dev

在angularJS的视图初始化中预填充模型值的问题

来自分类Dev

为什么我的基因剔除视图模型用不同的值初始化?

来自分类Dev

使用包装器类为单视图和LINQ查询初始化多个模型

来自分类Dev

Django:通过管理员操作使用数据初始化模型添加视图

来自分类Dev

如何通过继承扩展django抽象基础模型?

来自分类Dev

Django:使用来自另一个模型的值填充模型的字段(在初始化和保存时)

来自分类Dev

Python Appengine使用JSON初始化NDB模型对象

来自分类Dev

Backbone.js:使用动态名称初始化模型

来自分类Dev

如何使用模型实例的某些参数初始化表单

来自分类Dev

Swift:模型结构,使用可选参数与空值初始化

来自分类Dev

Java-Hibernate条件.setResultTransformer()使用默认值初始化模型字段

来自分类Dev

尽管模型已提前初始化,但仍为空模型

来自分类Dev

Python Pydantic双基础模型

来自分类Dev

ActiveResource模型未初始化

来自分类Dev

深度学习模型权重的初始化

来自分类Dev

dojox / app模型未初始化

来自分类Dev

骨干模型初始化函数

来自分类Dev

如何通知模型/视图基础数据更改了表头?

来自分类Dev

如何使用模型中的其他字段初始化Django模型中的字段

来自分类Dev

在Android中使用“ by viewModels()”与“ ViewModelProvider(this).get(ViewModel :: class.java)”对视图模型进行初始化

来自分类Dev

KendoUI-使用基础模型从网格单元读取编辑的数据

来自分类Dev

是否可以使用连接表作为模型的基础?

来自分类Dev

BACKBONE / JS最佳实践:在视图内部初始化模型是好是坏?

Related 相关文章

  1. 1

    骨干模型初始化

  2. 2

    模型对象初始化

  3. 3

    初始化模型对象

  4. 4

    CodeIgniter无法实例化扩展抽象基础模型的模型

  5. 5

    我应该总是初始化视图模型对象吗?

  6. 6

    我应该总是初始化视图模型对象吗?

  7. 7

    在angularJS的视图初始化中预填充模型值的问题

  8. 8

    为什么我的基因剔除视图模型用不同的值初始化?

  9. 9

    使用包装器类为单视图和LINQ查询初始化多个模型

  10. 10

    Django:通过管理员操作使用数据初始化模型添加视图

  11. 11

    如何通过继承扩展django抽象基础模型?

  12. 12

    Django:使用来自另一个模型的值填充模型的字段(在初始化和保存时)

  13. 13

    Python Appengine使用JSON初始化NDB模型对象

  14. 14

    Backbone.js:使用动态名称初始化模型

  15. 15

    如何使用模型实例的某些参数初始化表单

  16. 16

    Swift:模型结构,使用可选参数与空值初始化

  17. 17

    Java-Hibernate条件.setResultTransformer()使用默认值初始化模型字段

  18. 18

    尽管模型已提前初始化,但仍为空模型

  19. 19

    Python Pydantic双基础模型

  20. 20

    ActiveResource模型未初始化

  21. 21

    深度学习模型权重的初始化

  22. 22

    dojox / app模型未初始化

  23. 23

    骨干模型初始化函数

  24. 24

    如何通知模型/视图基础数据更改了表头?

  25. 25

    如何使用模型中的其他字段初始化Django模型中的字段

  26. 26

    在Android中使用“ by viewModels()”与“ ViewModelProvider(this).get(ViewModel :: class.java)”对视图模型进行初始化

  27. 27

    KendoUI-使用基础模型从网格单元读取编辑的数据

  28. 28

    是否可以使用连接表作为模型的基础?

  29. 29

    BACKBONE / JS最佳实践:在视图内部初始化模型是好是坏?

热门标签

归档