我想在单独的类中调用方法,我是怎么做到的?该类与当前类相同的项目
答案 0 :(得分:10)
也许阅读面向对象编程OOP Reading material
答案 1 :(得分:4)
有点模糊,但假设如下:
public class ClassA
{
public void ClassAMethod()
{
}
}
public class ClassB
{
public void ClassBMethod()
{
ClassA classAInstance = new ClassA();
classAInstance.ClassAMethod();
}
}
简而言之,您必须实例化具有您要调用的方法的类(除非它是static
类),然后通过实例化类调用该方法。
答案 2 :(得分:1)
如果方法是静态的,你可以像这样调用它:
ClassName.MethodName();
如果方法不是静态的,那么您需要先创建一个实例,然后在实例上调用该方法。像这样:
ClassName instance = new ClassName();
instance.MethodName();
显然,如果你的类的构造函数或方法有参数,这会改变,但是应该让你进入正确的球场。
答案 3 :(得分:1)
简单示例:
var objectHoldingMyMethod = new myClassName();
objectHoldingMyMethod.myMethod();
答案 4 :(得分:1)
有两种方法。如果另一个类是静态的(或者方法是静态的),您可以直接调用它OtherClass.Method()
否则,您将需要该类的实例来调用该方法:
var newInstance = new OtherClass();
newInstance.Method();
但如果您提出这样的问题,我会详细了解面向对象编程的基础知识。
答案 5 :(得分:1)
实例化该类的实例。然后调用该方法。如果方法是静态的,你可以直接调用它。
例如:
public class Class1
{
public static void PrintHellow()
{
Console.WriteLine("Hellow!")
}
public void printGoodBy()
{
Console.WriteLine("Good by!")
}
private void Hidden()
{
Console.WriteLine("I am hidden from other classes out there!");
}
}
static void Main()
{
Class1.PrintHellow();//this is a static method you can call it directly.
//Class1.PreintGoodBy();//This is not valid since the method is not static
Class1 class1Instance = new Class1();
class1Instance.PrintGoodBy();//this is how to call none static method from a class
//classInstance.Hidden();//this is not valid call since this method marked as private
}
另请阅读MSDN:Methods,Access Modifiers。