我有三个类,每个类可能有不同的属性,让我们用pen代表一个类名,用hand代表另一个类名,现在让我们用1,2,3取两个id。所以,如果我有许多ID或具有不同ID的对象,hand ID和penID都是相同的,只有 hand ID 1可以使用pen ID 1同样,hand ID 2可以使用pen ID 2。 class Hand{ string Id; bool Status; Hand(string id){ Id=1; Status=false } } class Pen{ string Id bool Status; Pen(string id){ Id=1; Status=false; } } class Pencil{ string Id bool Status; Pen(string id){ Id=1; Status=false; } } 因此,如果我更改hand.status=true,它将自动在pen.status中更改,或者使用该id的pencil将更改为true。让我们假设一下。hand id 1,2,3所有状态都是false pen has id 1,3 pencil has id 2如果hand of id 2更改为true,则在pencil with id中找到的id应该更改如何映射它们或如何在两个类之间建立连接
class Hand { public int Id; private bool m_Status; public bool Status { get { return m_Status; } set { m_Status = value; if (Pen != null) { Pen.Status = value; } } } Pen Pen { get; set; }
Hand(int id)
{
Id=1;
Status=false;
}
}
class Pen { public int Id; public bool Status; Pen(int id) { Id=1; Status=false; } } 添加/修改
你也可以像这样扩展你的类。
class Hand { public int Id; private bool m_Status; public bool Status { get { return m_Status; } set { m_Status = value; if (Item != null) { Item.Status = value; } } } Item Item { get; set; }
Hand(int id)
{
Id=id;
Status=false;
}
}
class Item { public int Id; public bool Status; public Item(int id) { Id=id; Status=false; } }
class Pen : Item { public Pen(int id) : base(id) {
}
}
class Eraser : Item { Eraser(int id) : base(id) {
}
}
class Pencil : Item { public Pencil(int id) : base(id) {
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。