Как манипулировать «значением» при установке значения свойства - PullRequest
1 голос
/ 31 мая 2011

У меня есть следующее свойство в классе:

'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 после установки для свойства «English» оно остается «английским» и не изменяется.

Ответы [ 2 ]

1 голос
/ 31 мая 2011

Я подозреваю, что свойство на самом деле установлено правильно, но контекст, в котором вы просматриваете значение, скрывает часть CDATA.

Пожалуйста, установите точку останова на End Set и используйте ваш Watch 1 окно для проверки значения _Language после установки свойства на английском языке.

0 голосов
/ 31 мая 2011

Ваш получатель не прав. Это изменение значения свойства! Менять значение установщика на что-то другое не рекомендуется, потому что тогда Set / Get / Set не будет работать.

По сути, ваш дизайн не очень хорош. Я бы пересмотрел это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...