IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Utilisation direct d'un class [Débutant]


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2011
    Messages : 113
    Points : 44
    Points
    44
    Par défaut Utilisation direct d'un class
    Bonjour,
    Je m'excuse d'avoir fait une titre peu explicite, mais je ne trouvé pas plus explicite
    Je viens vous mandiez de l'aide car j'aimerais faire quelque chose d'un peu plus propre dans mon code, c'est de ne plus utiliser 'new' je m'explique.

    Voici ma class Write.cs:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Write
    {
    	public Write(string message)
    	{
    		Console.WriteLine(message);
    	}
    }

    et voici mon Program.cs:


    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Program
    {
            static void Main(string[] args)
            {
    		Write("Le message à écrire");
            }
    }


    Ceci est un exemple, mais c'est parfaitement ce que je voudrais faire.
    Si quelqu'un peut me venir en aide.
    T4unt.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static class ConsoleHelper
    {
    	public static void Write(string message)
    	{
    		Console.WriteLine(message);
    	}
    }



    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Program
    {
            static void Main(string[] args)
            {
    		ConsoleHelper.Write("Le message à écrire");
            }
    }

  3. #3
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2011
    Messages : 113
    Points : 44
    Points
    44
    Par défaut
    C'est ceci que je ne veux pas faire, car dans mon code, la class se nomme Send, alors si je rajoute une method, du genre, Send.Envoi(string message), c'est moyen niveau esthétique.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    T4unt
    je pense que je ne suis pas le seul à n'avoir rien compris.

    Pour répondre à ta question d'origine qui est "de ne pas utiliser new", il faut mettre t'as méthode en static.


    voilà

  5. #5
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2011
    Messages : 113
    Points : 44
    Points
    44
    Par défaut
    Ce que je voudrais c'est de faire comme ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class Write(string text)
    {
     
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Citation Envoyé par T4unt Voir le message
    Ce que je voudrais c'est de faire comme ci :
    public class Write(string text)
    {

    }
    c est pas possible

  7. #7
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2011
    Messages : 113
    Points : 44
    Points
    44
    Par défaut
    Une alternative ? pour m'éviter de faire une class se nommant Send et de devoir refaire une method qui aura quasiment le même nom, uniquement pour pouvoir executé le bloc de code que je veux.

  8. #8
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 493
    Points
    5 493
    Par défaut
    Bonjour, les seules alternatives qui me viennent à l'esprit sont les suivantes :

    * Une méthode d'extension, pour écrire de n'importe où : "Un message".Send();
    * Une structure dont le constructeur jouerait le rôle de ta méthode : new Send("Un message");
    * Une classe de base définissant la méthode voulue et dont hériteraient toutes celles qui se serviraient de cette méthode.

    Enfin, il me semble qu'il est possible en IL de définir des fonctions globales. On pourrait donc théoriquement générer à la main (via AssemblyBuilder par exemple) une assembly contenant une telle fonction globale. En revanche j'ignore si le compilateur C# peut compiler un code appelant cette méthode ou si Visual Studio l'ajoute à son index Intellisense.

  9. #9
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 082
    Points
    8 082
    Par défaut
    Une classe est un conteneur de donnée, ca n'est pas une méthode. Il faut donc que tu utilises ce qu'il t a été indiqué au dessus.

  10. #10
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    je ne pense que vous ayez les modules en c#, mais en vb.net toute méthode mise dans un module est accessible directement sans préfixe (à part l'éventuel namespace)
    même si je n'en vois pas l'utilité à part prolonger de 0,01% la vie de son clavier

    la méthode d'extension sur string me semble le mieux sinon, ca permet d'écrire unstring.Write ou donc "texte".Write

  11. #11
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2011
    Messages : 113
    Points : 44
    Points
    44
    Par défaut
    Merci d'avoir répondu à mes questions.
    Puisqu'aucune toutes les solutions ont étaient dîtes, je clôture le sujet.
    T4unt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/01/2006, 09h10
  2. débutant:utilisation de variable entre classe
    Par troojan dans le forum MFC
    Réponses: 1
    Dernier message: 07/12/2005, 23h31
  3. Réponses: 7
    Dernier message: 14/10/2005, 20h00
  4. utiliser mysql++ dans une classe
    Par Yevetrovitch dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 11/04/2005, 10h53
  5. Utilisation iterator avec une classe perso
    Par SteelBox dans le forum C++
    Réponses: 19
    Dernier message: 07/03/2005, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo