C#在另一个类的类中调用函数

时间:2010-10-25 11:56:37

标签: c# arrays return-value

我首先要说的是我不是开发人员。是的,这是一个c#噩梦。但这是一次性工具,就是这样。快速而肮脏它只需要工作就可以了。

我有以下代码:

        public string[] get_status(string local_fname)
    {
        var dts_doc = new HtmlAgilityPack.HtmlDocument();
        dts_doc.Load(local_fname);

        //Pull the values
        var ViewState = dts_doc.DocumentNode.SelectSingleNode("/html[1]/body[1]/div[1]/input[4]/@value[1]");
        var EventValidation = dts_doc.DocumentNode.SelectSingleNode("/html[1]/body[1]/div[2]/input[1]/@value[1]");

        string ViewState2 = ViewState.Attributes[3].Value;
        string EventValidation2 = EventValidation.Attributes[3].Value;


        //Display the values

        //System.Console.WriteLine(ViewState.Attributes[3].Value);
        //System.Console.WriteLine(EventValidation.Attributes[3].Value);
        //System.Console.ReadKey();
        return new string[] { ViewState2, EventValidation2 };
    }

我想从Main.cs上的一个按钮调用get_status,它将显示带有ViewState2和EventValidation2的2个消息框。

同样,我不是开发人员,这可能是错误的做事方式。但我只需要一个快速而肮脏的解决方案来完成这项工作。

3 个答案:

答案 0 :(得分:2)

试试这个:

foreach(string s in get_status(localFname))
{
    MessageBox.Show(s);
 }

正如你所说,它快速而又肮脏,我忠于这种范式。

是的,如果您需要访问另一个类,请使用 static 方法,或者只是创建一个实例并在其上调用该方法。我希望我能正确理解这个问题。

答案 1 :(得分:2)

通过将static关键字添加到函数定义来使函数变为静态:

static public string [] get_status(string local_fname)

使用班级名称来引用Main类中的函数。

答案 2 :(得分:0)

如果您使用的是visual studio,请转到要单击的按钮,然后双击该按钮。这将创建一个事件处理程序。在事件处理程序中,您应该调用上面的方法。

protected void Button1_Click(object sender, eventArgs e)
{
   string local_fname = someValue;
   string results[] = get_status(local_fname);
   MessageBox.Show(results[0]);
   MessageBox.Show(results[1]);
}