在MVP中通过接口显示列表框中的项目
本文关键字:列表 显示 项目 接口 MVP | 更新日期: 2023-09-27 18:07:45
在MVP
应用程序中,我的演示者希望访问/更新View
上的列表框中的数据。Presenter
通过接口IView
与View
通信。因此,我计划通过以下属性公开列表框中的项。但是在这种情况下使用单个属性有一个问题。
Interface IView
{
List<string> Permission;
}
class Form : IView
{
public List<string> Permission
{
get { return lstGivenPermissions; } // Casting error
set { lstGivenPermissions.DataSource = value; }
}
}
这样我的Presenter
应该能够访问和更新列表中的数据,如下所示
class Presenter
{
UpdateModelFromView()
{
Model.Permission = View.Permission;
}
UpdateViewFromModel()
{
View.Permission = Model.Permission;
}
}
我的Model
应该是这样的
class Model
{
Ipublic List<string> Permission = new List<string>();
//
}
我知道由于数据类型不匹配,上面的代码将不会被编译。(铸造错误).
你能告诉我如何才能做到这一点吗?
我在找这个…
public List<string> Permission
{
get { return lstGivenPermissions.Items.Cast<string>().ToList(); } //
set { lstGivenPermissions.DataSource = value; }
}
它解决了我的问题!!