Classes différentes en DLL
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:
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:
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:
1 2
| ClSecuriteCPP sec = new ClSecuriteCPP(@"C:\fichier.txt");
string volume = sec.ObtenirVolume(); |
Je peux seulement faire :
Code:
1 2
| ClSecuriteCPP sec = new ClSecuriteCPP();
// sec.ObtenirVolume() n'existe pas dans cette instance |
Merci d'avance