Partage
  • Partager sur Facebook
  • Partager sur Twitter

Declaration System.Console.Writeline ?

Dans un fichier séparer: ?

Anonyme
    29 juin 2020 à 7:17:59

    Bonjour,

    j'ai donc crée  un projet C# application framwork 3.1 a type de sortie application windows. 

    evidament quand j'ai voulut appler  System.Console.Writeline("blabla"); pas de fenetre  console.... j'ai donc changer application windows en 

    application console. et cela marche donc très bien ,

    (Pour ceux qui cherche le truc  c'est dans : clique droit sur le projet --> application --> champ type de sortie.)

    dans le fichier 

    Je voulai donc faire une class  et a partie d'un autre fichier : 

    using System;
    using System.Net.NetworkInformation;
    using System.Runtime.InteropServices;
    using NetTest;
    
    namespace WrapperGetExtendedTcpTable
    {	public class MeShowTcp
    	{
    		System.Console.Writeline("blabla");
    	}
    }

    Les erreur debarques.

    ErreurIDE1007Le nom 'System.Console.Writeline' n'existe pas dans le contexte actuel.
    
    Class1.cs 9 Actif



    bref c'est pas compatible dans un fichier classe on dirai que je passe un using System;  ne change rien ??
    le fichier apparai bien dans la liste du projet , mai je me demande s'il est pris en compte correctement , en c++ j'aurai penssé a un problem lier aux include ?
    Merci d'avance

    -
    Edité par Anonyme 29 juin 2020 à 7:20:26

    • Partager sur Facebook
    • Partager sur Twitter
      29 juin 2020 à 8:16:03

      Bonjour,

      Ta classe ne te choque pas ?

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        29 juin 2020 à 9:25:17

        Matioso a écrit:

        Bonjour,

        Ta classe ne te choque pas ?

        Navrer d'être débutant en C# ^^ 

        il me semble qu'ell est déclarée comme il faut, rien n'est signialer a par la ligne 9 qui n'est pas ma classe, mai celle fourni de base ?

        • Partager sur Facebook
        • Partager sur Twitter
          29 juin 2020 à 9:51:00

          Ca ne concerne pas que le C#. 

          Je vois que tu ne comprends pas, je vais essayer de te faire comprendre ton erreur. Il te manque quelque chose d'important.

          Quelle est la structure d'une classe ? (quelque soit le langage)

          • Partager sur Facebook
          • Partager sur Twitter
            29 juin 2020 à 9:54:00

            Tu connais le C++ vraisemblablement.

            Bin c'est pareil.

            Elle est où la fonction/méthode en ligne 9 ?

            Et comme en C++, faire des "traces" non paramétrables, comme le std::cout du C++, dans un "assembly de classe" .NET (~ librairie en C++), c'est tout pourri.

            Passez par un framework de Log ou par les primitives de log de .NET "de base" : 

            https://vincentlaine.developpez.com/tuto/dotnet/log/

            • Partager sur Facebook
            • Partager sur Twitter
            Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
            Anonyme
              29 juin 2020 à 10:11:29

              Matioso a écrit:

              Ca ne concerne pas que le C#. 

              Je vois que tu ne comprends pas, je vais essayer de te faire comprendre ton erreur. Il te manque quelque chose d'important.

              Quelle est la structure d'une classe ? (quelque soit le langage)

              public class  nom_de_la_class { contenu  ici public (constructeur de la classe en c++ si besoins) }





              • Partager sur Facebook
              • Partager sur Twitter
                29 juin 2020 à 10:16:29

                Je te mets la structure d'une classe car je ne suis pas sur d'avoir compris ton schema

                Class nom_de_la_class

                {

                  ATTRIBUT(S)

                  [CONSTRUCTEUR(S)]

                  METHODE(S)

                  [DESTRUCTEUR]

                }

                Voila la structure d'une classe, quelque soit le langage.

                Penses-tu avoir trouvé ton erreur avec ça ?

                -
                Edité par Matioso 29 juin 2020 à 10:19:28

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  29 juin 2020 à 10:26:57

                  bacelar a écrit:

                  Tu connais le C++ vraisemblablement.

                  Bin c'est pareil.

                  Elle est où la fonction/méthode en ligne 9 ?

                  Et comme en C++, faire des "traces" non paramétrables, comme le std::cout du C++, dans un "assembly de classe" .NET (~ librairie en C++), c'est tout pourri.

                  Passez par un framework de Log ou par les primitives de log de .NET "de base" : 

                  https://vincentlaine.developpez.com/tuto/dotnet/log/

                  en ligne 9 c'est dans System par heritage  j'ai preciser que j'avais testre avec using ou sans !? si c est aillieur je l'igniore.

                  j'ai rien compris a ce que tu dit tu part n'import oû, pour n'importe quoi qui pour moi n'a aucun rapport avec le C# Certe je me mélange un peux les pinceaux. Donc a prendre avec moderation : il faut comprendre les base,  faire un "blabla"  me prend pas 3 plomb pour faire cela  en c++ ....  bon ça, concrectement. Cela va virer aux troll C++ Vs C#  il ne sagis dans mes propos d'y voir que les similitude , ne veux pas dire que  c est exactement pareil.

                  je doit rater un truc tout c..  mai j'ai pas encore de livre pour du C# :(



                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 juin 2020 à 10:31:53

                    Montres nous ta class en C++

                    Si tu fais un copier/coller dans un fichier C# (si mes souvenirs du C++ sont bons) tu as juste a changer le "cout" par "Console.WriteLine("ffef")".

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      29 juin 2020 à 10:42:36

                      bon le contructeur est aussi obligatoire en C#  ... on appelle pas ça un contructeur en C# je suppose ?

                      using System;
                      using System.Net.NetworkInformation;
                      using System.Runtime.InteropServices;
                      using NetTest;
                      using System.Drawing;
                      using System.Windows.Forms;
                      
                      namespace Me_WrapperGetExtendedTcpTable
                      {
                      	public class MeShowTcp
                      	{
                      		/*	[DllImport("IpHlpApi.dll", SetLastError = true)]
                      			static extern uint GetExtendedTcpTable(IntPtr pTcpTable, ref int dwOutBufLen, bool sort,
                      			int ipVersion, TCP_TABLE_CLASS tblClass, uint reserved = 0);
                      		*/
                      		//Console.WriteLine("**************");
                      
                      		public MeShowTcp()
                      		{
                      			Console.WriteLine("**************");
                      		}
                      	}
                      }

                      sauf mes deux question la solution est correct ou il manque un truc ?

                      -
                      Edité par Anonyme 29 juin 2020 à 10:44:28

                      • Partager sur Facebook
                      • Partager sur Twitter
                        29 juin 2020 à 10:45:59

                        Non le constructeur n'est pas obligatoire... (Si tu le codes pas, il en a un par défaut qui est vide)

                        Il te faut juste une méthode pour faire une instruction (ici l'affichage d'un texte)

                        Donc soit tu mets le code dans le constructeur soit tu crées une méthode.

                        -
                        Edité par Matioso 29 juin 2020 à 10:48:05

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          29 juin 2020 à 10:53:28

                          d

                          Matioso a écrit:

                          Non le constructeur n'est pas obligatoire... (Si tu le codes pas, il en a un par défaut qui est vide)

                          Il te faut juste une méthode pour faire une instruction (ici l'affichage d'un texte)

                          Donc soit tu mets le code dans le constructeur soit tu crées une méthode.

                          -
                          Edité par Matioso il y a moins de 30s


                          étrange , si je met un classe vide sa miaule, donc les contructeur ce fait, met si pas de methode  alors sa plante .d'ou ma confusion entre le constructeur et la methode , merci d'avoir préciser :)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            29 juin 2020 à 11:13:04

                            >Cela va virer aux troll C++ Vs C#

                            Pas de souci, je peux troller sans problème pour les 2 langages (ancien M$ MVP VC++ {#emotions_dlg.clin}).

                            Tu critiques le C# en le comparant en C++ mais ton code n'est "valide" ni en C# ni en C++.

                            On te "trolle" (gentiment) surtout parce que tu critiques le C# en le comparant au C++, mais ton code montre que tu ne maîtrises pas mieux le C++ que le C#. (ou t'as pas les yeux en face des trous, ça arrive souvent le lundi matin {#emotions_dlg.clin}).

                            Des instructions (donc pas des déclarations) ne peuvent être "écrites" directement dans le corps d'une classe. Même les inlines C++ doivent être des fonctions.

                            Poses-toi la question de "quand" est que ces instructions devraient être exécutée ?

                            La directive "using" de C# est très proche de la directive using du C++:

                            https://en.cppreference.com/w/cpp/language/namespace

                            Et donc n'a rien à voir avec un include à la C++ (contrairement à ce que laisse penser beaucoup de cours sur le C#).

                            Mais bon, comme il y a beaucoup trop de connerie dans ta dernière réponse, on va passer au salage (rien de personnel mais pour les prochains lecteurs, faut remettre le clocher au centre du village).

                            >en ligne 9 c'est dans System par heritage

                            De quel "héritage" parles-tu ???

                            Faut pas confondre namespace et héritage. "System" n'est pas une classe mère mais un "espace de nom". Console est une classe et "Writeline" est une méthode de la classe Console, donc une instruction et nom une déclaration ou une formule d'initialisation, donc interdite dans le "corps" d'une classe. Le corps d'une classe ne contient que les méthodes (avec son implémentation contrairement au C++), ces propriétés et ces champs (avec potentiellement une affectation via une Expression (qui peut contenir des appels de méthode)).

                            >j'ai preciser que j'avais testre avec using ou sans

                            Le rapport avec la choucroute ? le using C#, c'est le même que celui du C++.

                            >Certe je me mélange un peux les pinceaux

                            Un peu ?

                            >me prend pas 3 plomb pour faire cela  en c++

                            Montre-nous ton code C++. {#emotions_dlg.heureux}

                            >je doit rater un truc tout c..

                            Oh que oui:

                            namespace WrapperGetExtendedTcpTable
                            {   public class MeShowTcp
                                {
                                    public static void MethodeALaCon()
                                    {
                                        System.Console.Writeline("blabla");
                                    }
                                }
                            }

                            EDIT:

                            >, donc les contructeur ce fait, met si pas de methode alors sa plante

                            C'est encore plus simple qu'en C++, car il n'y pas d'histoire de constructeur implicite qui dégage quand on en spécifie un autre ou de listes d'initialisation à fournir.

                            "sa plante" ou ça ne compile pas. Ce n'est pas du tout la même chose. Et comme en C++, lisez les messages d'erreurs.

                            -
                            Edité par bacelar 30 juin 2020 à 10:34:09

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                            Anonyme
                              30 juin 2020 à 7:40:09

                              Merci pour ta créponse, je me rend donc a l'église ^^.

                              Sur le net il ce dit , que si il n'y a pas de constructeur il lui faut une methode,

                              la fonction a bien changer il est vrai qu'une classe vide n'a aucun interet.

                              je supposais que System était la classe mère donc ou pour un lundi c est pas mal :'( 


                              • Partager sur Facebook
                              • Partager sur Twitter

                              Declaration System.Console.Writeline ?

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown