我在类中有一个方法ResetMethod(ClassA a),我已经通过ResetMethod类的属性访问了这个方法,如下所示:
public class MyClass1
{
public MyClass1()
{
}
public void ResetMethod(ClassA a)
{
}
}
public class MyClass2
{
MyClass1 class1;
public MyClass2()
{
ClassA a= new ClassA();
MyClass1.ResetMethod(a);
}
public MyClass1 MyClass1
{
get
{
if (myClass1 == null)
myClass1 = new MyClass1 ();
return myClass1 ;
}
set
{
myClass1 = value;
}
}
}
在运行FxCop规则时,对于方法ResetMethod,它显示以下错误:
从不使用'MyClass1.ResetMethod(MyClassA)'的'this'参数(或Visual Basic中的'Me')。将成员标记为静态(或在Visual Basic中为Shared)或在方法体中使用“this”/“Me”,或者在适当的情况下使用至少一个属性访问者。
如何解决此错误?
答案 0 :(得分:0)
您调用MyClass1.ResetMethod(a);
已经在调用静态方法。所以你发布的代码不符合我的理解。
所以剩下的就是让方法本身是静态的:
public static void ResetMethod(ClassA a)
{
// ...
}