非静态字段、方法或属性需要对象引用

本文关键字:属性 对象引用 方法 静态 字段 | 更新日期: 2023-09-27 18:01:27

我正在尝试Action<T,T>委托,并得到以下错误:

非静态字段、方法或对象引用是必需的地产

事件声明如下:

public event Action<string, string> FileStateProcess;

用法应该是这样的:

if (FileStateProcess != null)
{
    FileStateProcess(file.FullName, temppath);
}

我做错了什么?

非静态字段、方法或属性需要对象引用

从您的声明中我们可以看到FileStateProcess动作是非静态的,所以我假设您调用它的方法是静态方法。在这种情况下,从方法中删除static关键字,您应该很好。

或者,您可以将FileStateProcess设置为静态,但这将意味着它的值将保存在实际类型中,而不是保存在对象实例中。

public static event Action<string, string> FileStateProcess;

有关更多信息,请参见:

静态类和静态类成员(c#编程指南)。

相关文章: