2014-06-09 20 views
0

MVP應用程序中,我的演示者想要訪問/更新View上的列表框中的數據。 Presenter正在通過接口IViewView通話。所以我打算通過以下屬性在列表框中公開項目。但在這種情況下,我在使用單個屬性時遇到問題。通過MVP中的接口顯示ListBox中的項目

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

我一直在尋找這...

public List<string> Permission 
    { 
     get { return lstGivenPermissions.Items.Cast<string>().ToList(); } // 
     set { lstGivenPermissions.DataSource = value; } 
    } 

它解決了我的問題!