Ну, я создал программу, которая принимает некоторые файлы (Mp3) и меняет их теги Недавно я хотел добавить некоторые новые Subs (например: взять название песни и сделать каждую букву в ней upercase). Проблема заключается в том, что я использую список с его позиций, чтобы быть keyvaluepairsReadonly in keyvaluepair
Public MP3List As New List(Of KeyValuePair(Of String, String))
Когда я попытался изменить ключ или значение любого элемента в этом списке я получаю сообщение об ошибке (что это READONLY) Пример:
For Each Song In MP3List
Song.Key = "Something"
Next
добавить элементы, как это:
Private Function OpenAFile()
Dim MP3List1 = MP3List
Dim oFileDialog As New OpenFileDialog
oFileDialog.Title = "Επέλεξε ένα MP3 Άρχειο"
oFileDialog.Filter = "MP3 Files|*.mp3|All Files|*.*"
oFileDialog.Multiselect = True
Dim Path As String = ""
Dim Name As String = ""
Dim NewPair As New KeyValuePair(Of String, String)
If oFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
For Each sPath In oFileDialog.FileNames
Path = New String(sPath)
Name = New String(Strings.Split(Path, "\").ToList(Strings.Split(Path, "\").ToList.Count - 1))
NewPair = New KeyValuePair(Of String, String)(Name, Path)
If Not MP3List1.Contains(NewPair) Then MP3List1.Add(NewPair)
Next
End If
Return MP3List1
End Function
Таким образом, идея заключается в следующем: Каждый раз, когда я нажимаю кнопку, чтобы добавить песню он будет запускать функцию OpenAFile(), и он работает нормально-й ru. Теперь, когда я хочу изменить ключ или значение я получаю эту ошибку
Спасибо за помощь и извините за плохой английский
Ключ в KVP предназначен для идентификации конкретной записи и не должен изменяться (и если бы этот цикл выполнял все ваши элементы, у них был бы тот же ключ, и ваш код не мог бы сказать один из другого). Вы можете исправить ключ, прежде чем добавлять элемент. Однако изменение ключевого слова не будет обновлять тег MP3. – Plutonix
, возможно, не заполняет ключ до тех пор, пока вы не узнаете, что это такое ... или удалите его и добавьте новый с правильной информацией ... или сохраните ключ одинаковым, но значение будет настраиваемым объектом, в котором хранятся все, что вы может понадобиться знать ... – Jeremy
Ну, я хочу иметь возможность менять ключ всякий раз, когда я хочу, потому что я хочу это сделать. (Я знаю, что такое мой ключ, но я хочу, чтобы его можно было изменить) – sheach