我的问题基本上是这样的:
如果我从一个类设置动态数据,我可以从另一个类访问相同的数据 类?下面是我想要做的粗略伪代码:
Public Class Person
{
public string ID { get; set; }
public string Name { get; set; }
}
而且,我这样做:
Public Class SomeClass
{
private void SomeMethod()
{
List<Person> p = new List<Person>();
loop {
p.Add(id[i], name[i]);
Timer t = new Timer();
t.Interval = 1000;
}
}
我可以访问SomeClass中设置的值吗? 来自SomeOtherClass这样:
Public SomeOtherClass
{
private List<Person> SomeOtherMethod(string id)
{
// HERE, THE RESPONSE VALUES MAY CHANGE BASED ON
// WHERE IN THE LOOP SomeClass.SomeMethod HAS SET
// THE VALUES IN Person.
var query = from p in Person
where p.ID == id
select p;
return query.ToList();
}
}
感谢您的想法...
答案 0 :(得分:0)
您可以访问这些属性的成员(ID,名称),因为您已将它们声明为公共。
当你说“人”时,你指的是一个类型 - 人物类型。
要访问特定人员的成员,您需要使用Person的实例。
Person thePersonInstance = new Person(5, "Joe");
thePersonInstance.ID = 3; // This is fine, since it's public
但是,在您的示例中,您需要在SomeOtherClass中为您的方法提供特定的“Person”实例集合。类似的东西:
Public SomeOtherClass
{
// You need to provide some collection of Person instances!
public List<Person> SomeOtherMethod(string id, IEnumerable<Person> people)
{
var query = from p in people
where p.ID == id
select p;
return query.ToList();
}
}
然后您可以在其他地方使用它,例如:
void SomeMethod()
{
List<Person> people = new List<Person>();
people.Add(new Person(1, "Name1");
people.Add(new Person(2, "Name2");
SomeOtherClass other = new SomeOtherClass();
List<Person> filteredPeople = other.SomeOtherMethod(1);
}