2013-08-07 42 views
-3

我知道它不是最佳做法,使用組合框的布爾值,但對於此應用程序返回數據是/否是所有必需的。我試圖返回它的是或否,但得到一個警告'可能意外的參考'任何幫助清理代碼非常感謝。返回組合框爲布爾

public bool PlayDataToEnd 
{ 
    get 
    { 
     return this.PlayDataToEnd.SelectedValue == "Yes"; 
    } 
    set 
    { 
     this.PlayDataToEnd.SelectedValue = true; 
    } 
} 
+2

那是因爲你的財產'PlayDataToEnd'有與ComboBox相同的名稱。 – jor

+0

this.PlayDataToEnd.SelectedValue.ToString()如何? –

+0

嘗試ToString第一,但你不能轉換布爾字符串 – user2637869

回答

3

假設你的內部ComboBox名爲playDataToEndCombo

public bool PlayDataToEnd 
{ 
    get 
    { 
     return playDataToEndCombo.SelectedValue.ToString() == "Yes"; 
    } 
    set 
    { 
     playDataToEndCombo.SelectedValue = value ? "Yes" : "No"; 
    } 
} 

我認爲你應該使用Index一個約定:0 for Yes1 for No

public bool PlayDataToEnd 
{ 
    get 
    { 
     return playDataToEndCombo.SelectedIndex == 0; 
    } 
    set 
    { 
     playDataToEndCombo.SelectedIndex = value ? 0 : 1; 
    } 
} 
+0

隨着我得到很多語法錯誤,只有賦值,調用,增量,減量和新的對象表達式可以用作一個語句 – user2637869

+0

什麼行?我想'PlayDataToEnd'是你的'ComboBox'。 –

+0

錯誤來自哪裏? :0:1;我得到無效的表達術語;預計和我發佈的錯誤消息 – user2637869