2010-12-08 4 views
3

On m'a donné une dll pour parler à un appareil, j'ai peu ou pas d'expérience en C# et je suis censé obtenir le dispositif initialisé à la fin de la semaine. La dll a des méthodes pour ouvrir les ports et envoyer des messages, mais je ne sais pas comment accéder aux fonctionsC# DLL noob, comment obtenir des fonctions

Je sais que c'est un peu ridicule de demander, mais je suis à court de temps. Merci,

+0

Quelle est la langue du programme où vous intégrez l'appareil? – CharlesB

+0

Pouvons-nous supposer que la DLL est * également * écrite en C#? –

+1

Cette DLL était livrée avec un manuel? Va en trouver un. –

Répondre

6
  1. Ajouter un Reference au fichier .dll dans votre projet C#.
  2. Ajouter un espace de noms utilisant en haut de la classe qui va interagir avec les méthodes .dll.

Vous serez désormais en mesure d'accéder aux méthodes.

Modifier: Si votre bibliothèque n'est pas gérée, vous devrez utiliser Pinvoke.

+3

... mais seulement si cette DLL est en réalité un assemblage géré. –

+0

Je suppose que. : P Upvote! –

1

Ajoutez une référence à la DLL dans votre projet (sélet parcourir pour le trouver) et vous devriez être en mesure d'accéder aux fonctions à l'intérieur. En ce qui concerne la façon de faire fonctionner votre appareil, je pense que vous êtes seul :)

2

En règle générale, une fonctionnalité d'appeler du code managé en code non managé (que je suppose que votre DLL est) est appelé P/Invoke et implique généralement l'annotation des méthodes static extern requises avec des attributs.

0

Si la DLL est un assemblage .Net, vous pouvez le charger dans un projet Visual Studio en y ajoutant comme référence. En l'absence de documentation, il peut également être extrêmement utile de charger l'ensemble dans .Net Reflector, ce qui vous permet d'inspecter les intestins de l'assemblage, même au point de désassembler le code à l'intérieur des méthodes.

0

1- Si elle est gérée Dll, c'est-à-dire écrite en utilisant .net framework qu'appeler une méthode de la DLL est comme si vous appelez une méthode de votre propre classe.

ajoutez simplement la référence de la DLL dans votre projet et incluez la référence d'espace de noms par le mot-clé 'Using'.

2- Si ce n'est pas que vous devez importer dynamiquement votre dll, vous pouvez utiliser [DllImport]

Questions connexes