为什么不能从静态方法调用非静态方法?

Voo*_*ild 5 c# static-methods class

我的类中有一个静态方法[Method1],它在同一个类中调用另一个方法[Method2],而不是静态方法.但这是禁忌.我收到此错误:

非静态字段,方法或属性"ClassName.MethodName()"需要对象引用

有人可以简单描述一下原因吗?包括可能与此相关的其他事情.

编辑:谢谢你的回复,伙计们!

这是我的一个小错误,让我试着解释一下.该类是工厂的一部分,工厂有所有类的实例.但是这个方法是NoWhere,因为它不是该类实现的接口的一部分,而是仅作为辅助函数添加.

答案也很有帮助!

Yan*_*min 24

非静态方法需要类的实例.除非您已经传入实例,或者在方法中创建了实例,否则不能调用非静态方法,因为您不知道该方法应该对哪个类进行操作.