维护私有集和公共访问 ViewModel 和 Model 中的属性

发布于 2024-09-13 21:34:00 字数 652 浏览 2 评论 0原文

所以我目前在我的 ViewModel 中有一个这样的类:

namespace ViewModel
{
  public sealed class MyClass
  {
     public static bool IsInMode
     {
       get;
       private set;
     }

  }
}

我们的程序集的设置方式是视图可以访问视图模型和模型,但视图模型只能访问模型,而模型只能访问它自己。

我需要从模型访问此 IsInMode 属性。我知道 IsInMode 属性将在应用程序启动时初始化,此后不应更改。到目前为止,我的想法是在模型层创建另一个具有 get; 的类。 private set;IsInMode 变量上,并在视图模型层的 MyClass 中创建该对象的实例,然后当程序 获取 viewmodel 中的 IsInMode 属性,它返回此 Model 对象的状态。

这是解决这个问题的最佳方法吗?

问题是我想避免任何其他类更改此模式的状态,同时保持模型层及以上层的访问权限。我还想保持对 ViewModel 类的属性的访问。

So I currently have a a class like this in my ViewModel:

namespace ViewModel
{
  public sealed class MyClass
  {
     public static bool IsInMode
     {
       get;
       private set;
     }

  }
}

The way our assemblies are setup is that the view can access the viewmodel, and the model, but the viewmodel can only access the model, and the model can only access itself.

I need access to this IsInMode property from the model. I know the IsInMode property will be initialized at app startup and should never change after that. My thought so far is to create another class in the Model layer which has a get; private set; on the IsInMode variable, and create an instance of that object in MyClass in the View Model Layer, and then when the program gets the IsInMode property in the viewmodel, it returns the state of this Model object.

Is this the best way to go about solving this problem?

The problem is that I want to avoid having any other class change the state of this mode while maintaining access in the model layer and above. I'd also like to maintain access to the property off of the ViewModel class.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文