Pouvez-vous la Liste des appels(T) placé à l'intérieur d'une autre méthode, comment initier Liste(T)?
Im nouveau à la programmation et donc cela peut être une question idiote mais je me demandais si vous pouvez placer un List<T>
à l'intérieur d'une méthode et d'y accéder et de le modifier à partir de l'extérieur de cette méthode?
Comment instancier la List<T>
classe pour être en mesure d'accéder et de modifier partir d'une autre classe? Peut-être que je cantt même instancier la liste de cette façon.
Voici mon code contenant le lancement de la liste:
public void MyMethod()
{
List<Customer> newCustomer = new List<Customer>
{
new Customer
{
Name="A", //Name and Telephone are properties.
Telephone="02-333444"
},
new Customer
{
Name="B",
Telephone="03-444555"
},
new Customer
{
Name="D",
Telephone="03-444555"
},
};
}
Si je veux accéder et d'ajouter ou de supprimer des éléments de la liste à partir de l'extérieur de cette méthode que dois-je faire? J'ai essayé plusieurs choses et pourrait vraiment utiliser des suggestions? Par exemple, je veux utiliser newCustomer.Add(...);
quelque part ailleurs dans le code.
Toute suggestion serait utile.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez retourner la liste que vous avez créé à partir de votre méthode:
Avis que j'ai changé de type de retour de vide à
List<Customer>
puis à la fin de la fonction renvoyée votre liste générée (return newCustomer
).Lorsque vous appelez votre méthode à partir de l'endroit où vous serez en mesure d'obtenir la liste retournée comme ceci :
Ou si l'extérieur de la classe:
C'est les fondamentaux de la programmation, je pense que vous devriez lire quelques-uns des principes de base avant de s'engager trop loin dans le développement.
@ThePower réponse est la bonne.
De toute façon, vous pouvez utiliser une autre solution: définissez cette variable à l'intérieur de votre classe, afin de les rendre accessibles à partir de chaque méthode à l'intérieur de cette classe:
ou
Vous avez besoin pour permettre à un autre code pour accéder à la référence à la
List<T>
objet. Vous pouvez soit les exposer comme une propriété à l'intérieur de votre classe, ou de retour à partir de la méthode. En passant par la dernière option et à l'aide de votre exemple ci-dessus, vous pouvez modifier votre méthode à ressembler à quelque chose comme:Et puis vous pouvez accéder à l'aide:
Vous devez retourner la Liste à partir de la méthode:
Maintenant de l'extérieur de cette méthode, vous pouvez effectuer les opérations suivantes pour accéder à votre liste:
Vous avez besoin pour stocker la liste quelque part en dehors de la méthode (en général dans un domaine de votre classe)
Vous pouviez retourner la nouvelle liste de clients à partir de la méthode:
Puis d'appeler la méthode avec:
Vous aurez alors accès à l'objet parent et d'être en mesure de le passer en paramètre dans d'autres méthodes. Le thème général de variables disponibles, créés et détruits dans le code est appelé "champ d'application" si vous souhaitez Google plus d'infos sur le sujet.
Pas directement, ce qui est une sorte de point d'avoir de l'encapsulation.
Vous pouvez cependant: