Bonjours
Je me créer une petite DLL en CPP que j'utilise en C#
J'ai créé une classe toute simple avec un constructeur reçevant une string. Tout compile bien. Sauf que quand j'importe ma DLL dans C#, je peux créer la classe sans mettre de string au constructeur. Ce n'est absolument pas logique. De plus, même quand je créer une instance, il n'y a aucune fonction qui s'affiche dans l'intellisense, comme s'il n'y avais aucune fonction dans le public:
ChargementCPP.h :ChargementCPP.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 // ChargementCPP.h #pragma once #include <string> using namespace std; using namespace System; namespace ChargementCPP { public class ClSecuriteCPP { public : ClSecuriteCPP(string); string ObtenirVolume(); private : string m_cheminFichier; }; }Je clarifie un peu les choses :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 // This is the main DLL file. #include "stdafx.h" #include "ChargementCPP.h" #include <string> using namespace ChargementCPP; using namespace std; ClSecuriteCPP::ClSecuriteCPP(string p_cheminFichier) { this->m_cheminFichier = p_cheminFichier; } string ClSecuriteCPP::ObtenirVolume() { /* instructions ici */ return "(kkchose)"; }
en C# avec cette classe, je ne peux pas faire:Je peux seulement faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ClSecuriteCPP sec = new ClSecuriteCPP(@"C:\fichier.txt"); string volume = sec.ObtenirVolume();Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ClSecuriteCPP sec = new ClSecuriteCPP(); // sec.ObtenirVolume() n'existe pas dans cette instance
Partager