2011-05-31 229 views
1

時操縱「值」我有一個類中的下列財產:如何設置屬性值

'Language 
Private _Language As String = "" 
Public Property Language() As String 
    Get 
     If _Language <> "" Then 
      _Language = _Language.Remove(0, 9) 
      _Language = _Language.Remove(_Language.Length - 3, 3) 
     End If 
     Return _Language 
    End Get 
    Set(ByVal value As String) 
     _Language = "<![CDATA[" & value & "]]>" 
    End Set 
End Property 

的問題是,當我嘗試設置這樣的特性:

myClass.Language = "English" 

該屬性設置爲"English"而不是"<![CDATA[English]]>"這是我想要的。

這是什麼原因,我該如何解決?

更新: 當放置結束設定一個破發點,並使用監視窗口設置屬性後檢查_Language的價值「英語」它仍是「英語」,並不會改變。

+0

這些回答你的問題嗎? – 2012-09-14 15:59:50

回答

1

我懷疑該屬性實際上是正確設置,但您正在查看該值的上下文隱藏CDATA部分。

請在End Set上設置一箇中斷點,並使用您的Watch 1窗口將屬性設置爲英語後檢查_Language的值。

+0

這正是我的煩惱。 _語言設置不正確。它仍然是「英文」,而不是「<![CDATA [英文]]>」。 – mazrabul 2011-05-31 02:07:24

0

你的吸氣劑是錯的。它正在修改屬性值!不建議將setter值更改爲其他值,因爲Set/Get/Set不起作用。

基本上你的設計不是很好。我會重新考慮這一點。

+0

謝謝你的回答。正如我在之前的評論中提到的。該物業的設計就是出於某種原因。我想在內部類方法中使用私有值_Langauge。 – mazrabul 2011-05-31 02:11:38