Сопоставить ссылку на объект с помощью HashTable - PullRequest
0 голосов
/ 03 октября 2008

Я бы хотел отобразить ссылку на объект вместо значения объекта с помощью HashTable

configMapping.Add("HEADERS_PATH", Me.headers_path)

таким образом, когда я собираюсь получить значение «HEADERS_PATH», я смогу присвоить значение Me.headers_path

что-то вроде оператора "&" в C

Ответы [ 4 ]

3 голосов
/ 03 октября 2008

Я предполагаю, что Me.headers_path является System.String. Потому что System.String неизменны, то, что вы хотите, не может быть достигнуто. Но вы можете добавить дополнительный уровень косвенности для достижения аналогичного поведения.

Все проблемы в информатике могут быть решен другим уровнем Косвенная. Батлер Лэмпсон

Пример в C # (пожалуйста, отредактируйте VB и удалите этот комментарий позже):

public class Holder<T> {
    public T Value { get; set; }
}

...

Holder<String> headerPath = new Holder<String>() { Value = "this is a test" };
configMapping.Add("HEADERS_PATH", headerPath);

...

((Holder<String>)configMapping["HEADERS_PATH"]).Value = "this is a new test";

// headerPath.Value == "this is a new test"
1 голос
/ 13 ноября 2008

Я не совсем уверен, что вы хотите сделать. Если предположить, что smink является правильным, то вот перевод его кода на VB. Извините, я не могу отредактировать это, я не думаю, что у меня достаточно повторений.

public class Holder(Of T)
    public Value as T 
end class
...
Dim headerPath as new Holder(Of String)
headerPath.Value = "this is a test"
configMapping.Add("HEADERS_PATH", headerPath)
...
Directcast(configMapping["HEADERS_PATH"]),Holder(Of String)).Value = "this is a new test"

'headerPath.Value now equals "this is a new test"

@ marcj - в ответе вам нужно избегать угловых скобок, поэтому используйте & lt; для <и & gt; для>. Снова извините, я не могу просто отредактировать ваше сообщение для вас.

1 голос
/ 03 октября 2008

Похоже, что это словарь, который в .Net 2.0 можно определить как словарь, если ссылки, которые вы хотите обновить, всегда являются строками, или словарь (не рекомендуется), если вы хотите получить произвольную ссылку.

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

1 голос
/ 03 октября 2008

сделать заголовок_путь правильным (с заданным значением)

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