在MVP
应用程序中,我的演示者想要在View
上的列表框中访问/更新数据。 Presenter
通过界面View
与IView
对话。因此,我计划通过属性公开列表框中的项目,如下所示。但在这种情况下我使用单个属性时遇到问题。
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>();
//
}
我知道由于数据类型不匹配,上述代码不会被编译。 (投射错误)。
请您告诉我如何实现这一目标?
答案 0 :(得分:0)
我一直在寻找......
public List<string> Permission
{
get { return lstGivenPermissions.Items.Cast<string>().ToList(); } //
set { lstGivenPermissions.DataSource = value; }
}
它解决了我的问题!!!