如何在C#中,在一个类里调用另外一个类的方法

2024-10-28 16:40:10
推荐回答(5个)
回答1:

如果要通过类名来用方法的话,那其中的方法必须是静态方法,需加上static。即public static void get() {...}。静态方法是跟类关联的,允许不对classA实例化,就可以用它的方法。

把A类有引用的方法加static

public class A

public static void  MethodA()//如果不是static 就要实例化才能调用

public class B

public void MethodB

A.MethodA();//第一种方式

如果MethodA()没有加static关键字

则使用 new A().MethodA();

}

语言结构

类:一个基本的C#类中包含数据成员、属性、构造器和方法。属性可以是静态或实例成员。在C#中类的声明与C++和Java很相似。但是,不像C++,C#结构体与类是不支持继承多个父类。但是,与Java相同的是,一个结构体可以实现接口(interface)。Java的关键字import已经被替换成using,它起到了同样的作用。

以上内容参考:百度百科-c#

回答2:

把A类你有引用的方法加static
public class A
{
public static void  MethodA()//如果不是static 就要实例化才能调用
{

}
}

public class B
{
public void MethodB
{
A.MethodA();//第一种方式
如果MethodA()没有加static关键字
则使用 new A().MethodA();

}
}

【拓展资料】

C#是一个面向对象的编程语言。这种编程模式关注的是对象的行为和属性。比如猫抓老鼠这个例子中:猫和老鼠都是对象,用两个类表示:猫类Cat,老鼠类Mouse。

猫表现出了两种行为:听(老鼠的叫声)Listen(Mouse)和抓(老鼠)Catch(Mouse);至少一种属性:行动速度Speed。老鼠表现出了一种行为:叫Chitter;至少一种属性:叫声的大小Loudness。这样的话可以如下定义两个类:using System;class Cat {    public void Listen(Mouse m) { Console.WriteLine("cat listening"); }
public void Catch(Mouse m) { Console.WriteLine("cat catching");  }    public float Speed { get; set; }}class Mouse {    public void Chitter() { Console.WriteLine("mouse chittering"); }    public float Loudness { get; set; }}

实现猫抓老鼠的过程,就是实例化上述两个类,并调用相关方法。编码如下:

using System;  // 引用名字空间

class Cat {  // 实体对象(类):猫

public void Listen(Mouse m) { Console.WriteLine("cat listening"); }  // 行为(方法):听老鼠叫

public void Catch(Mouse m) { Console.WriteLine("cat catching");  }  // 行为(方法):捉老鼠

public float Speed { get; set; }  // 属性:捉老鼠时的行动速度

}

class Mouse {  // 实体对象(类):老鼠

public void Chitter() { Console.WriteLine("mouse chittering"); }  // 行为(方法):叫

public float Loudness { get; set; }  // 属性:叫声的大小

}

class Program {  // 类:调用上述类,实现猫捉老鼠的过程

public static void Main() {  // 主函数,程序入口

Cat c = new Cat(); // 实例化一个猫

Mouse m = new Mouse();  // 实例化一个老鼠

Console.WriteLine("begin.");  // 猫捉老鼠过程开始

m.Chitter(); // 老鼠发出叫声

c.Listen(m); // 猫听到老鼠叫声

c.Catch(m); // 毛捉住老鼠

Console.WriteLine("over.");  // 猫捉老鼠过程结束

}

回答3:

把A类你有引用的方法加static
public class A
{
public static void MethodA()//如果不是static 就要实例化才能调用
{

}
}

public class B
{
public void MethodB
{
A.MethodA();//第一种方式
如果MethodA()没有加static关键字
则使用 new A().MethodA();

}
}

回答4:

把A类你有引用的方法加static
public class A
{
public static void MethodA()//如果不是static 就要实例化才能调用
{

}
}

public class B
{
public void MethodB
{
A.MethodA();
}
}

回答5:

一种是创建窗体对象的方式,通过对象调用控件或方法
例如:
Form1 form1 = new Form1();
form1.Button; //调用控件form1.Method(); //调用方法123

当然了,控件的Modifiers属性要设置成public

另一种是不创建窗体对象
在Form1类下定义静态变量,构造方法中引用这个Form1
class Form1: Form{
public static Form1 form1;

public Form1()
{
InitializeComponent();
form1 = this;
}

public void Method()
{

}}123456789101112131415

调用该窗体的控件或方法:
Form1.form1.Button;Form1.form1.Method()。