Pourquoi C # n'a-t-il pas de fichiers d'en-tête? L'espace de noms va-t-il prendre soin de tout?
Je suis un programmeur novice, peut-on dire clairement à propos de l'utilisation des fichiers d'en-tête et les espaces de noms en C#?
Car en C++ j'ai été en utilisant ******.h
fichiers pour lire des fonctions de la bibliothèque. Et quand j'ai vu des exemples de programmes en C# ils ont disparu, quelqu'un Peut me dire pourquoi?
Je suis à l'aide de C# pour développer des outils personnalisées pour un logiciel de CAO mécanique, il y a chaque fois que j'utilise la fonction appropriée pour ouvrir le fichier (fichier CAO), le compilateur me donne un message d'erreur indiquant que les noms de fonction qui, je l'approvisionnement ne sont pas disponibles dans le contexte. Ici, ce qui ne signifiait par le contexte ?
Quand j'ai ouvert le fichier d'aide de cette application CAD la fonction qui est responsable de l'ouverture du fichier a été mentionné en vertu d'un fichier d'en-tête appelé uf_part.h
. Mais il y a un espace de noms appelé NXopen
.
J'ai utilisé l'espace de using NXopen
dans Visual Basic, n'est-ce pas suffisant? Ai-je besoin de fournir ce fichier d'en-tête ainsi ? Si oui, comment ? De bien vouloir m'aider.
source d'informationauteur Senthur
Vous devez vous connecter pour publier un commentaire.
C# est plus "sympathique programmeur". Lorsque vous traitez avec les fichiers d'un même projet, au lieu de spécifier manuellement "fichier d'en-tête" à chaque fois, il va aller chercher dans tous les fichiers de projet pour un match en fonction de l'espace de noms.
Pour comprendre cela, effectuez les étapes suivantes:
Comment c'est fait? Tout simplement par le fait d'avoir le même espace de noms pour les deux classes. L' .NETTE du moteur est assez intelligent pour le lien de toutes ces classes ensemble.
Maintenant, quand il s'agit de externe sens des codes code assis dans un autre fichier DLL, le truc est d'ajouter une référence à la DLL (en Studio --> cliquez-Droit sur le projet --> Ajouter une référence --> Parcourir) ensuite, vous devez spécifier que vous allez utiliser cette DLL par l'ajout d'un à l'aide de déclaration sur le dessus:
C'est à ce sujet. Contrairement au C++, vous n'avez pas besoin d'avoir
.h
fichier .NET recherche automatiquement référencé fichiers DLL pour un match.Il n'y a pas une telle chose comme fichier d'en-tête .net, parce que toutes les métadonnées nécessaires sont contenues dans référencé assemblée elle-même.
Avez-vous référencé nécessaire assemblée dans votre projet?
Aussi s'il vous plaît l'esprit qu'il n'y a pas une telle chose comme "fonction" en C#, seules les méthodes de la classe (ce qui signifie que vous devez spécifier un objet ou une classe statique dans vous appelez).
Aussi: Structure générale d'un Programme C#
Les compilateurs pour les langages modernes, tels que C# ou Java stocker dans des fichiers compilés informations sur les classes et les méthodes qu'ils contiennent, et cette information peut être utilisée pour vérifier l'exactitude des appels effectués à partir d'un fichier source à l'autre, ou à la bibliothèque de classes.
Quand C a été inventé espace disque, de la mémoire et de la puissance du PROCESSEUR ont été de précieuses ressources et cette approche n'aurait pas été possible. Fichiers d'en-tête ont été introduits pour permettre au compilateur de vérifier que les différents fichiers source conforme à la même interface. Quand le C++ a été inventé l'approche décrite ci-dessus aurait pu être possible, mais je suppose qu'il a été choisi de rester sur le C one pour des raisons de compatibilité.