非静态字段、方法或属性需要对象引用
本文关键字:属性 对象引用 方法 静态 字段 | 更新日期: 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#编程指南)。