为了账号安全,请及时绑定邮箱和手机立即绑定

C#如何使一个对象在另一个类中可见

C#如何使一个对象在另一个类中可见

C#
幕布斯6054654 2021-10-24 14:14:03
希望非常简单,但我无法解决这个问题..如何使我使用 Age 类创建的对象 Andrew 在 Program 类之外可见?我得到的错误是;'Andrew.PersonAge 在当前上下文中不存在'using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Testing2{public class Age{    private string personage;    public string PersonAge    {        get { return personage; }        set { personage = value; }    }}class Program{    static void Main(string[] args)    {        Age Andrew = new Age();        Andrew.PersonAge = "30";     }}class TestOutput{    Console.WriteLine(Andrew.PersonAge);    Console.ReadLine();    }}
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

简短的回答:你不能让一个对象在另一个类中可见。


但是你可以让Andrewobject 作为参数传入类或Output方法。


这是一个传递Andrew对象被构造参数的示例,然后你可以调用这个类Output方法来显示Andrew.PersonAge。


public class TestOutput

{

    private Age andrew;

    public TestOutput(Age _andrew)

    {

        andrew = _andrew;

    }


    public void Output()

    {

        Console.WriteLine(andrew.PersonAge);

        Console.ReadLine();

    }

}



Age Andrew = new Age();

Andrew.PersonAge = "30";

TestOutput output = new TestOutput(Andrew);

output.Output();


查看完整回答
反对 回复 2021-10-24
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

你最好的选择可能是传递Andrew给任何需要它的人。或者,您可以创建一个公开它的属性。你的TestOutput类甚至不会编译,所以让我们添加一个接受Age对象的方法:


class TestOutput

{

    public static void Output(Age age)

    {

        Console.WriteLine(age.PersonAge);

        Console.ReadLine();

    }

}

然后你只需要从Main()以下位置调用它:


static void Main(string[] args)

{

    Age Andrew = new Age();

    Andrew.PersonAge = "30";

    TestOutput.Output(Andrew);

}


查看完整回答
反对 回复 2021-10-24
  • 3 回答
  • 0 关注
  • 180 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信