Ma question est essentiellement ceci:Définition des propriétés en classe Une fois, l'accès à partir d'un autre
Si je mets des données dynamiques d'une classe, puis-je accéder à ces mêmes données d'une autre classe ? Ci-dessous la pseudocode approximative de ce que je suis en train de faire:
Public Class Person
{
public string ID { get; set; }
public string Name { get; set; }
}
Et, je le ci-dessous:
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;
}
}
Puis-je accéder aux valeurs définies dans SomeClass de SomeOtherClass tel que:
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();
}
}
Merci pour vos pensées ...
Votre message a été très utile, merci. Cependant, je suis toujours accroché sur une partie particulière - est-il possible d'accéder à l'ensemble de données en classe 1 du contexte de la classe 2? J'ai un codebehind page.aspx.cs qui définit les données dans une boucle: Liste personne = nouvelle Liste (); for (i = 0; i <= Request.Name.Count - 1; i ++) { person.Add (nouvelle personne (Request.ID [i], Request.Name [i])); } Ensuite, chaque fois que mon service Web est appelé, je veux être en mesure de retourner la liste des personnes à données quel que soit le point dans la boucle les données est appelée: Liste IPeopleService.GetPeople() { // Je suis toujours perdu ici } –
Est-il possible de le faire? Définir les données de mon code derrière, puis accéder aux données "comme il est en train d'être défini" d'une autre classe pour obtenir une mise à jour des progrès de toutes sortes? Ou, y a-t-il une meilleure façon d'aborder cela? Votre aide est grandement appréciée. –
Eh bien, si vous essayez d'y accéder «comme son être ensemble », à savoir: exactement en même temps à partir d'un autre thread, il est possible, mais vous aurez besoin de se pencher sur l'aide d'un mécanisme de verrouillage pour protéger vos données . Vous aurez besoin d'avoir un service partagé, cependant, afin que vous puissiez avoir accès à la liste - mais aussi longtemps que vous le faites, il devrait fonctionner correctement. –