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

时间:2015-07-07 13:33:09

标签: c#

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

  

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

事件声明如下:

public event Action<string, string> FileStateProcess;

用法应如下所示:

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

我做错了什么?

1 个答案:

答案 0 :(得分:2)

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

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

public static event Action<string, string> FileStateProcess;

有关详细信息,请参阅:

Static Classes and Static Class Members (C# Programming Guide).