0% ont trouvé ce document utile (0 vote)
7 vues5 pages

Création d'un composant en C#

Cet article présente la création d'un composant en C# qui permet de stopper des processus système. Il décrit la structure du composant, incluant des propriétés, des méthodes et des événements, ainsi que le code nécessaire pour le mettre en œuvre. L'auteur souligne la simplicité de C# par rapport à d'autres langages, facilitant ainsi le développement de composants.

Transféré par

talla
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues5 pages

Création d'un composant en C#

Cet article présente la création d'un composant en C# qui permet de stopper des processus système. Il décrit la structure du composant, incluant des propriétés, des méthodes et des événements, ainsi que le code nécessaire pour le mettre en œuvre. L'auteur souligne la simplicité de C# par rapport à d'autres langages, facilitant ainsi le développement de composants.

Transféré par

talla
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd

La création de

composants en C#

Document

Auteur David Catuhe


1, avenue de l’Europe Email [Link]@[Link]
Web [Link]
Version 1.0
Campus 1 – Bâtiment F Nombre de pages 5
Date 13/02/2001

31400 Toulouse

Tél. 05 61 75 13 13

Fax 05 61 75 47 97

Web [Link]
2/5
Création d’un composant en C#

1, avenue de l’Europe, Campus 1 – Bâtiment F  31400 Toulouse  Tél. 05 61 75 13 13  Fax 05 61 75 47 97


3/5
Création d’un composant en C#

C# est le premier langage orienté composant. Nous allons donc voir, au cours de cet
article, comment C# nous fournit les outils nécessaires à la création d'un composant.

Pour sortir des exemples habituels de composant faisant des calculs mathématiques,
nous allons mettre en oeuvre un composant qui pourra stopper les processus du
système.

Pour cela, nous allons tout d'abord construire le composant. Tout composant C# est
représenté par une classe (comme en VB) qui aura donc des propriétés, des méthodes et
des événements.

Notre composant aura une propriété ProcessName, un événement ErrorMsg qui sera levé
en cas d'erreur, et une méthode Stop afin de stopper le processus en question.

Grâce à la simplicité de C#, le code pour créer notre composant est extrêmement allégé.
De plus, il n'y a besoin d'aucun autre fichier que celui que nous produirons, (pas d'IDL ni
de quoi que ce soit d'autre) : C# prend tout en charge pour nous.

Voici le code de création du composant :

namespace MonPremierComposant // Le namespace définit le nom de la lib


{
using System;
using [Link];

// Définition de la signature d'une fonction réagissant à l'événement


public delegate void ErrorHandler(string sMsg);

// Classe de notre composant


public class MyProcessManager
{
// Donnée privée représentant le processus
private string m_strProcessName;

// Mise en place de l'événement


public event ErrorHandler ErrorMsg;

// Propiété ProcessName en lecture/écriture


public string ProcessName
{
get
{
return m_strProcessName;
}
set
{
m_strProcessName = value;
}
}

// Constructeur
public MyProcessManager()
{
m_strProcessName = "explorer";
}

// Accès à l'adresse

1, avenue de l’Europe, Campus 1 – Bâtiment F  31400 Toulouse  Tél. 05 61 75 13 13  Fax 05 61 75 47 97


4/5
Création d’un composant en C#

public bool Stop()


{
bool bRet;
try
{
Process[] proc;

proc = [Link](m_strProcessName);

foreach (Process activeProc in proc)


{
[Link]();
}
bRet = true;
}
catch ([Link] e)
{
ErrorMsg([Link]());
bRet = false;
}

return bRet;
}
}
}

Nous voyons ici apparaître plusieurs concepts importants de C# et notamment le


delegate. Ce dernier peut être vu comme un pointeur de méthode et sert, dans notre cas,
à définir la signature d'une méthode voulant réagir à notre événement.

La mise en place des méthodes en C# ressemble beaucoup à celle du C++. Par contre,
alors que le C++ ne supportait pas les propriétés, le C# fournit un moyen très simple de
les mettre en oeuvre: le get/set.

La partie cliente est, elle aussi, très simple:

namespace ClientComposant
{
using System;
public class ClientComposant
{
public static int Main(string[] args)
{
[Link] processKiller;

processKiller = new [Link] ();

[Link] += new
[Link](GestionErreur);

[Link] = "Psp";
if ([Link]())
{
[Link]("Process {0} is dead...", [Link]);
}
return 0;
}

1, avenue de l’Europe, Campus 1 – Bâtiment F  31400 Toulouse  Tél. 05 61 75 13 13  Fax 05 61 75 47 97


5/5
Création d’un composant en C#

public static void GestionErreur(string msgErreur)


{
[Link]("Erreur détectée:" + msgErreur);
}
}
}

Pour utiliser notre composant, nous créons tout simplement un objet de classe
« [Link] ». Il ne nous reste plus qu'à appeler ses
méthodes et à renseigner ses propriétés.

La mise en place de la gestion d'événements est toute simple. L'opérateur « += » ajoute


automatiquement des nouveaux abonnés à un événement et l'opérateur « -= » les
enlève.

Ainsi, en une trentaine de lignes, nous avons mis en place un composant souple et
performant ainsi que son client.

Grâce à C#, toute la tuyauterie de mise en oeuvre, de proxy/stub, d'enregistrements de


COM, a disparu pour laisser la place à un langage élégant et puissant.

1, avenue de l’Europe, Campus 1 – Bâtiment F  31400 Toulouse  Tél. 05 61 75 13 13  Fax 05 61 75 47 97

Vous aimerez peut-être aussi