gpt4 book ai didi

c# - 在 C# 中使用其他变量字符串访问变量?评价?

转载 作者:太空宇宙 更新时间:2023-11-03 14:06:21 28 4
gpt4 key购买 nike

我有一个表单,其中有很多设置页面。所有的页面都是一样的,所以我宁愿只制作一个表格,然后传入它应该编辑的设置的名称。我该怎么做?假设该表单称为“ConfigForm”,我希望能够用这样的方式调用它:

new ConfigForm("event1").Show();

很简单,这将拉出 ConfigForm,并发送字符串“event1”。但是,知道我正在寻找设置“event1”后,我现在如何访问该设置?通常要访问一个设置,我假设我会使用这样的东西:(event1 是一个 StringCollection)

string varName = Properties.Settings.Default.passedString[3];

当 event1 存储在变量“passedString”中时,如何将“event1”放入字符串中?在 PHP 中,我会使用类似 EVAL 的东西。我将如何在 C# 中执行此操作?

---- 编辑

前面的回答已经解决了“设置”的问题;但它没有回答根本问题。如何使用在变量中传递的字符串作为变量标识符?因此,如果我有一个名为“passedString”的字符串,其中存储了文本“event1”...我将如何转换它:

this.(passedString).Text = "test";

进入

this.event1.Text = "test";

最佳答案

Default 继承自具有以下属性的 SettingsBase:

Object this[
string propertyName
] { get; set; }

所以你可以使用[]。不要忘记将其转换为如下所示的 StringCollection 类

((StringCollection)Properties.Settings.Default[passedSetting])[3]

如果您想更新您的 StringColleciton,您可以通过这种方式获得对它的引用:

StringCollection collection = (StringCollection)Properties.Settings.Default[passedSetting];
collection.Add("another value");
collection[3] = "replace";
Properties.Settings.Default[passedSetting] = collection; // We'd rather call the setter.

关于c# - 在 C# 中使用其他变量字符串访问变量?评价?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9205494/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com