如何将标签文本添加到代码dom?

时间:2011-04-07 12:47:59

标签: c# codedom

我有一个表单,其中有各种标签和按钮..在按钮点击事件中,有一个代码编写生成一个cs文件,我希望在其中显示标签的文本..

我试图在代码dom中使用以下函数来获取值,但是我无法提取标签的值,即我只是得到label1.text,label2.text等而不是我想要的标签和组合框中的值..

任何人都可以帮忙..

start.Statements.Add(new CodeVariableReferenceExpression("Info.Valid("\"combobox1.SelectedValue.ToString()\"", "\"label1.Text\"", "\"label2.Text\"", "\"label3.Text\"", "\"numericupdown.Value.ToString()\"")");

这里的开头是要添加所有语句的CodeMemberMethod,Info是另一个类,Valid是我需要将所有这些值作为参数传递给我的方法。

1 个答案:

答案 0 :(得分:0)

多数说,你的代码不应该提取任何值,因为你指定了文本常量。您可以使用string.Format方法来准备文本数据。尝试以下内容:

string pattern = "Info.Valid(\"\"{0}\"\", \"\"{1}\"\", \"\"{2}\"\", \"\"{3}\"\", \"\"{4}\")";
string data = string.Format(pattern,
            combobox1.SelectedValue.ToString(),
            label1.Text,
            label2.Text,
            label3.Text,
            numericupdown.Value.ToString());
start.Statements.Add(new CodeVariableReferenceExpression(data));

有关详细信息,请查看this