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