访问方法并在另一个类中使用它

问题描述 投票:-4回答:2

我已经使方法UpdateLogList()更新我的代码中的listView,它的工作原理。现在创建我需要的这个类,当我尝试使用UpdateLogList()我有错误

非静态字段,方法或属性'Form1.UpdateLogList(string)'需要对象引用

并且不能在其他类中使用它。

我发现了许多与此类似的问题,但没有一个解决方案适合我。

我怎样才能使这个工作

public partial class Form1 : Form
{
    private class MyInit : AnotherClass
    {
        public override void Init()
        {
            base.Init();

            // some action occur i need to update here
            Form1.UpdateLogList("Text i wan't to set")
        }
    }

    public Form1()
    {
        InitializeComponent();
    }

    public void UpdateLogList(string data)
    {
        logList.Items.Add(dateNow + " - " + data);
    }
}
c# .net
2个回答
0
投票

试着让它变得静止。

public static void UpdateLogList(string data){//your code here}

0
投票

你(大概)在logList中使用了一个成员,UpdateLogList,所以你不能让它静止。因为它不是静态的,所以你不能在没有目标的情况下调用它,就像你在这里做的那样:

Form1.UpdateLogList("Text i wan't to set");

更改它以将方法作为实例方法调用:

this.UpdateLogList("Text i wan't to set"); // `this.` is optional

现在,当您想从另一个类调用此方法时,请确保您具有对表单的引用。你可以打电话给它:

myFormInstance.UpdateLogList("Text i wan't to set");
© www.soinside.com 2019 - 2024. All rights reserved.