Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 方法并在另一个类中使用它_C#_.net - Fatal编程技术网

C# 方法并在另一个类中使用它

C# 方法并在另一个类中使用它,c#,.net,C#,.net,在我的代码中,我使用了updateglist方法来更新listView,而且效果很好。现在创建了我需要的这个类,当我尝试使用UpdateLogList时,我有一个错误 非静态字段、方法或属性“Form1.UpdateLogListstring”需要对象引用 不能在其他类中使用它 我发现许多问题与此类似,但没有一个解决方案适合我 我怎样才能让它工作 public partial class Form1 : Form { private class MyInit : AnotherClass

在我的代码中,我使用了updateglist方法来更新listView,而且效果很好。现在创建了我需要的这个类,当我尝试使用UpdateLogList时,我有一个错误

非静态字段、方法或属性“Form1.UpdateLogListstring”需要对象引用

不能在其他类中使用它

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

我怎样才能让它工作

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);
    }
}
尽量使它静止

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

您可能在UpdateLogList中使用了一个成员logList,因此不能将其设置为静态。因为它不是静态的,所以您不能在没有目标的情况下调用它,就像您在这里所做的那样:

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");

因此,可以有多个Form1实例,每个实例都有自己的日志列表。您不能调用Form1.UpdateLogList,因为它不知道您在谈论哪个实例。Form1是类名。这个。更新的英语。。。或者更新英语。。。简而言之。你们能给我一些链接或例子来解决类似的问题或帮助我做一些事情,而不是给出我的答案否定点吗?如果我把它设为静态,那么我只能在外部或我的Form1中使用它。这也不起作用,我的实例是Form1,我只有一个form。