C# 将两个类的实例链接在一起

C# 将两个类的实例链接在一起,c#,constructor,C#,Constructor,编程新手在这里,我已经为此伤了脑筋好几个小时了 我可以创建一个坐标对象,但是我想创建一个点对象,它可以从坐标对象访问坐标字段。如何将这两个类链接在一起?你有什么好的YouTube视频推荐,可以解释我在这里遗漏了什么吗?谢谢 class Coordinate { public int X { get; private set; } = 0; public int Y { get; private set; } = 0; public Coordinate(int x, in

编程新手在这里,我已经为此伤了脑筋好几个小时了

我可以创建一个坐标对象,但是我想创建一个点对象,它可以从坐标对象访问坐标字段。如何将这两个类链接在一起?你有什么好的YouTube视频推荐,可以解释我在这里遗漏了什么吗?谢谢

class Coordinate
{
    public int X { get; private set; } = 0;
    public int Y { get; private set; } = 0;
    public Coordinate(int x, int y)
    {
        x = X;
        y = Y;
    }        
}

class Dot
{
    public string color { get; set; }
    public Dot(string color, Dot dot)
    {
        this.Color = color;
    }
}

class Program
{
    static void Main(string[] args)
    {
        Coordinate coor1 = new Coordinate(2, 3);
        Dot dot1 = new Dot("Blue", coor1);        
    }

以下是您正在搜索的链接类的链接。在面向对象编程中,这称为

这样,您就可以在Dot类中使用坐标实例的功能和数据

class Coordinate
{
    public int X { get; private set; }
    public int Y { get; private set; }
    public Coordinate(int x, int y)
    {
        X = x;
        Y = y;
    }        
}

class Dot
{
    public Coordinate coord { get; private set; }
    public string color { get; set; }
    public Dot(string color, Coordinate coord)
    {
        this.color = color;
        this.coord = coord;

    }
}

class Program
{
    static void Main(string[] args)
    {
        Coordinate coor1 = new Coordinate(2, 3);
        Dot dot1 = new Dot("Blue", coor1);
        Console.WriteLine(dot1.coord.X);        
    }
}

注意:我还修复了坐标构造函数设置X=X和Y=Y中可能出现的键入错误。

只需将坐标成员变量添加到点?如果不是键入错误,则应初始化坐标构造函数中两个属性的代码将被反转。X=X;Y=Y;机器人应该是点公共机器人应该是公共点。从上面Q上的评论来看,它看起来像是在原来的。谢谢。我想实现的一件事是能够执行Console.WriteLinedot1.Coordinate.X,我编辑了我的答案:可见性现在可以公开读取新属性,但只能在类内部私下写入。阅读的语法是:Console.WriteLinedot1.coord.x没问题,很乐意帮助!如果满意,请接受回答: