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 :
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;
	};
}
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
// 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)";
}
Je clarifie un peu les choses :
en C# avec cette classe, je ne peux pas faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ClSecuriteCPP sec = new ClSecuriteCPP(@"C:\fichier.txt");
string volume = sec.ObtenirVolume();
Je peux seulement faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ClSecuriteCPP sec = new ClSecuriteCPP();
// sec.ObtenirVolume() n'existe pas dans cette instance
Merci d'avance