我想用HashTable

映射对象的引用而不是对象值
configMapping.Add("HEADERS_PATH", Me.headers_path)
当我要检索<!>“HEADERS_PATH <!>”的值时,

我将能够为Me.headers_path

分配一个值

类似<!>的东西; <!>安培; <!> QUOT; C中的运算符

有帮助吗?

解决方案

我假设 Me.headers_path 是一个System.String。因为 System.String 是不可变的,你想要的是无法实现的。但是,您可以添加额外的间接级别来实现类似的行为。

  

计算机科学的所有问题都可以   另一个层次的解决方案   间接。    Butler Lampson

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"

其他提示

使标题路径成为属性(带有设置)

这似乎是一个字典,在.Net 2.0中,如果要更新的引用总是字符串,则可以定义为Dictionary;如果要获取任意引用,则可以定义为Dictionary(不推荐)。

如果你需要替换字典中的值,你可以定义自己的类,并提供一些辅助方法来使这更容易。

我不完全确定你想做什么。假设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 - 您需要在答案中转义斜角括号,因此请使用<!> amp; lt;对于<!> lt;和<!> amp; gt;对于<!> gt;。再说抱歉,我不能为你编辑你的帖子。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top