Встраиваемые ресурсы не могут быть изменены во время выполнения. Вы можете получить к ним доступ в виде коллекции. Например:
' Get resource value by string name
Dim value1 As Object = My.Resources.ResourceManager.GetObject("name1")
Dim value2 As String = My.Resources.ResourceManager.GetString("name2")
' Loop through list of resources
Dim rset As ResourceSet = My.Resources.ResourceManager.GetResourceSet(Thread.CurrentThread.CurrentUICulture, True, True)
For Each i As DictionaryEntry In rset
Dim name As String = i.Key
Dim value As Object = i.Value
Next
Если вы хотите, во время выполнения, чтения и изменения ресурсов, которые хранятся во внешнем файле .resources
, рамки .NET предоставляет некоторые классы в пространстве имен System.Resources
, которые вы можете использовать. ResourceReader
класс позволяет читать .resources
файл, как это:
Using reader As New ResourceReader("test.resources")
For Each i As DictionaryEntry In reader
Dim name As String = i.Key
Dim value As Object = i.Value
Next
End Using
И вы можете использовать ResourceWriter
класс, чтобы создать новый .resources
файл, например:
Using writer As New ResourceWriter("test.resources")
writer.AddResource("name1", value1)
writer.AddResource("name2", value2)
End Using
Однако, реальный вопрос спросить, есть ли у вас файлы .resources
? Обычно файлы .resource используются только как шаг сборки сборки, чтобы они могли быть встроены в сборку. Если вы хотите хранить данные во внешних файлах, обычно вы можете сохранить их в другом формате. .NET предоставляет множество параметров сериализации объектов, которые упрощают хранение объектов в XML, текстовых, двоичных или других типах файлов, а также баз данных.
В вопросе № 1, вы имеете в виду во время выполнения или во время разработки? –
Я имел в виду время работы. – Benjli