Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Débutant : pb de classe public et d'interface

16 réponses
Avatar
Christian Hubert-Hugoud / weabow - Xtrem7 - Groobax
Bonjour,

J'ai une appli qui utilise une dll. Depuis cette appli, je souhaite utiliser
des Interfaces pour créer des objets, fournis par la dll.

Cela fonctionne tant que la classe qui hérite de l'Interface est publique
(dans la dll).

Or, si cette classe est publique, je peux instancier directement un objet en
utilisant la classe, et non pas l'Interface.

Or je souhaite que les utilisateurs qui utilisent la dll n'aient pas accès à
la classe elle-même. Je voudrais que la classe soit cachée.

Est-ce possible ?

Voici le code :

La classe qui est dans la dll :
namespace Xtrem7Engine
{
public class X7login : IX7login
{
public string GetFullVersion()
{
return "Coucou";
}
}
}

L'interface de cette classe (dans la dll aussi) :
namespace Xtrem7Engine
{
public interface IX7login
{
string GetFullVersion();
}
}

L'appel depuis l'appli :
private void button1_Click(object sender, RoutedEventArgs e)
{
Xtrem7Engine.IX7login Login;
Login = new Xtrem7Engine.IX7login();

MessageBox.Show(Login.GetFullVersion());

}

or on peut aussi très bien faire :
private void button1_Click(object sender, RoutedEventArgs e)
{
Xtrem7Engine.X7login Login;
Login = new Xtrem7Engine.X7login();

MessageBox.Show(Login.GetFullVersion());

}
Dans ce second cas, on utilise la classe directement.

Merci de votre aide

Christian

Réponses

1 2
1 2