0
我很確定這個問題真的很明顯,但我似乎無法做出正確的答案。我有一個用戶定義對象的列表(不是由我,但我可以看看編輯,如果需要的話)。我試圖宣佈它有14個空白對象。這樣,當我去listname(5).setvalues()時,它只編輯該值。相反,它會對列表中的所有元素(即全部14個)進行編輯,或者將其保留爲空。用戶對象列表不能單獨更新值
下面的代碼:
Dim currentProperties As New List(Of ExtendedCamObject)
'create a blank list
For i As Integer = 0 To 13
' Dim exp As New ExtendedCamObject
' currentProperties.Add(exp)
currentProperties.Add(New ExtendedCamObject)
Next
propVal = "4012"
currentProperties(8).SetValues(ExtendedCamObject.PropertyTypes.Max_Bitrate, propVal)
這使他們爲空。如果我執行註釋掉的版本(刪除for循環中的其他行),它將它們全部設置爲相同的值。這裏的設定值的類定義的定義:
Private m_strValue As String
Private m_PropertyType As String
Public Sub SetValues(ByVal ExtendedProperty As PropertyTypes,
ByVal strValue As String)
m_PropertyType = CType(ExtendedProperty, PropertyTypes)
m_strValue = strValue
End Sub
我沒有寫此用戶對象,但我注意到,沒有任何「獲取/設置」屬性從原來的編碼器項目。這是爲什麼我的價值觀沒有被正確設置?
的一件事是你的'm_PropertyType'是一個字符串,它看起來像你想設置一個'Enum'值。對於CType部分無用,因爲它不是轉換或拆箱。 – OneFineDay 2014-12-04 18:48:24
我可以考慮改變這一點,謝謝。你認爲這會造成這種影響嗎? – Kat 2014-12-04 18:49:56
註釋部分和當前部分不應有任何區別。沒有'Get/Set'因爲這些是字段而不是'Property'。 – OneFineDay 2014-12-04 18:53:24