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

两个类A,B(均为public)处于同一命名空间,定义B类的成员方法时,想在其中调用A类的一个public方法,B类中没有A类创建的对象,想直接调用A类的成员方法,现在总... 两个类A,B(均为public)处于同一命名空间,定义B类的成员方法时,想在其中调用A类的一个public方法,B类中没有A类创建的对象,想直接调用A类的成员方法,现在总是提示“当前上下文中不存在名称******”(******为A类的成员方法名)
如何实现?
展开
 我来答
帐号已注销
2021-06-26 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:162万
展开全部

如果要通过类名来用方法的话,那其中的方法必须是静态方法,需加上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#

冰冻了你呢
推荐于2019-10-12 · TA获得超过1.2万个赞
知道答主
回答量:99
采纳率:0%
帮助的人:4.7万
展开全部

把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.");  // 猫捉老鼠过程结束

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
缘来如此211314
推荐于2018-02-22 · TA获得超过120个赞
知道答主
回答量:34
采纳率:100%
帮助的人:17.5万
展开全部
把A类你有引用的方法加static
public class A
{
public static void MethodA()//如果不是static 就要实例化才能调用
{

}
}

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

}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qwe23069
推荐于2017-10-10 · TA获得超过792个赞
知道小有建树答主
回答量:553
采纳率:50%
帮助的人:436万
展开全部
把A类你有引用的方法加static
public class A
{
public static void MethodA()//如果不是static 就要实例化才能调用
{

}
}

public class B
{
public void MethodB
{
A.MethodA();
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ggcc2046
2018-05-23 · TA获得超过2.5万个赞
知道答主
回答量:92
采纳率:0%
帮助的人:2.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()。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式