Passer des variables à partir de la fonction Principale à une autre classe de C#
Je suis en me frappant la tête contre le mur assez sévèrement avec cette. J'ai plusieurs variables à l'intérieur d'une application console C# que je tiens à re-utiliser. Cependant, je ne peux pas pour la vie de me ré-utiliser les variables dans une autre classe. J'aimerais de l'aide ou des pointeurs que vous pourriez fournir - j'ai cherché pendant un certain temps et je suis complètement perplexe.
EDIT: Oui, les variables sont à l'intérieur de ma fonction Principale. Désolé de quitter.
EDIT: Fortement rédigé le code ci-dessous. Les valeurs de la variable, je voudrais réutiliser dans une autre classe sont dans le milieu. Il y a plus, mais ces 3 devrait être suffisant pour l'échantillon. Merci pour l'aide!!!
public static class MyApp
{
static void Main(string[] args)
{
//loads XML doc
foreach (XmlNode node in nodes)
{
try
{
//does a bunch of stuff
//Parses variables from REST API
XDocument docdetailxml = XDocument.Parse(xmldoc);
XNamespace ns = docdetailxml.Root.GetDefaultNamespace();
var buid = docdetailxml.Root.Element(ns + "busid").Value;
var bname = docdetailxml.Root.Element(ns + "busname").Value;
var bcount = docdetailxml.Root.Element(ns + "buscount").Value;
//Invoke SQL connection string
//Trigger Stored Procedure and write values to database
//If needed, trigger email notification
//Close connections
}
catch (Exception e)
{
Console.WriteLine("Error encountered: " + e.Message);
//Exit the application
System.Environment.Exit(1);
}
finally
{
//Exit the application
//System.Environment.Exit(0);
}
}
}
private static void GetConnectionString()
{
throw new NotImplementedException();
}
private static void GetConnectionStrings()
{
throw new NotImplementedException();
}
}
}
string[] args
qui sont passés à votre Main
fonction? pouvez-vous montrer le code que vous avez produit jusqu'à présent?Avez-vous un exemple de code pour montrer ce qui ne va pas? Que serions nous aider un peu.
Poste le code de votre application console s'il vous plaît.
Aucune idée de ce que vous demandez ici. Qu'entendez-vous par "re-use"?
OriginalL'auteur mynameisneo | 2012-01-03
Vous devez vous connecter pour publier un commentaire.
Si la variable désigner certains renseignements à propos d'un objet (comme le nom, id, etc.) ensuite, ils devraient être encapsulés dans un classe. L'instance de la classe (appelé objet) doit être utilisé pour accéder à ces informations.
Comme vous avez déjà les variables qui représentent un objet, la prochaine étape serait de regrouper ces variables en classes. Ces variables sont représentées comme propriétés dans la classe. Les opérations effectuées sur ces membres devraient être disponibles méthodes. En outre, le modificateurs d'accès décider de la visibilité des membres.
En passant par votre exemple, je peux identifier les 3 variables qui représentent un Client (hypothèse, je ne suis pas sûr de l'utilisation exacte de cas). Ils permettront à la Clientèle de classe.
En outre, la
foreach
boucle peut être divisé en 2 parties pour resuablityEn outre, vous pouvez créer une autre classe qui effectue les opérations (logique) que vous effectuez dans l'application de console. Cela vous permettra de réutiliser la même logique en cas de déménagement vers une autre application (comme winforms ou service web).
Plus d'informations
OriginalL'auteur Devendra D. Chavan
vous devez définir la propriété publique ou le domaine public
et lorsque vous souhaitez passer la valeur que vous pouvez affecter cette valeur à la propriété
ou vous pouvez utiliser le constructeur de la classe aussi.
OriginalL'auteur WhizDeveloper
Je pense qu'il y a un forum dédié pour les entretoises sur ce site, le meilleur coup d'oeil pour plus d'info.
Réponse rapide: le principal moyen de transmission de valeurs à partir d'une action à une autre (je pense que vous travaillez avec struts classes d'Action?) est de mettre les valeurs dans la requête ou de la session (si, à un premier emploi pour vous serait de lire sur ces sujets: HttpServletRequest et HttpSession). Struts action des classes de faire leur travail dans la méthode execute (), et cette méthode a un paramètre de type HttpServletRequest. À partir de la demande, vous pouvez obtenir un handle de la session.
Et à la fois la demande et de la session offrir des méthodes getAttribute() et setAttribute(). Donc, pour faire passer des données d'une action à une autre, le jeu de données (requête ou de la session) attribut, puis lecture de l'attribut dans la prochaine action à nouveau.
OriginalL'auteur john
Le Programme de la classe est probablement Statique de sorte que vous aurez accès à ces champs par le nom de classe au lieu de l'instance.
OriginalL'auteur CodingBarfield