C#类的方法互相调用问题,非静态方法要怎么实现?

狂奔的蜗牛2012 2014-03-25 10:13:35
A类实例化的对象是在main中完成的,但是B类要调用A类的话如何实现? 这个对象在main中B类访问不到啊
...全文
291 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ttgss 2014-03-26
  • 打赏
  • 举报
回复
你把A实例的变量声明在两个过程都能访问到的地方不就行了。 变量的生命周期范围你总知道吧。
MikeCheers 2014-03-25
  • 打赏
  • 举报
回复
好好屡屡思路 你都无法表达清楚 证明这个事情你还没想明白 先脱离代码的局限 想想现实环境中 他们应该是怎样的逻辑
threenewbee 2014-03-25
  • 打赏
  • 举报
回复
当然访问不到,因为main运行完了,这个局部变量都不存在了。 你有两个选择,一个是将这个对象定义为成员变量,延长它的生命周期。
class Program
{
static public A a;

static void Main()
{
    a = new A();
}
}
class B
{
    public void foo()
    {
    Program.a ...
    }
}
一个是,如果B也是在Main中被调用的,可以把这个变量传入。
static void Main()
{
    A a = new A();
    new B().foo(a);
}

class B
{
    public void foo(A a)
    {
    a ...
    }
}
tcmakebest 2014-03-25
  • 打赏
  • 举报
回复
语无论次的,无法理解【对象在main中】

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧