La Référence Absolue sur les Technologies .NET

   
  Ajouter aux favoris  Imprimer  www.labo-dotnet.com
 
 
Recherche


Recherche Avancée


Derniers Articles
La technologie OpenSearch sur votre site Internet
-> Divers
Publié le
13 juin 2008
Génération de classe sérialisable via Xsd
-> Divers
Publié le
2 juin 2008
Utilisation des types anonymes (C# 3.5)
-> C#
Publié le
22 mai 2008
Exemple de code : Comment créez un contrôle dynamiquement (C#)
-> C#
Publié le
17 avril 2008
Nouvelles certifications pour le framework 3.5
-> Divers
Publié le
18 avril 2008


Syndication 
Derniers Articles
ADO.net
ASPNET
C#
Divers
Mobile
Office
VB.net
Win FX
Articles

ADO.netASPNETC#DiversMobileOfficeVB.netWin FX
Utilisation des types anonymes (C# 3.5)

http://www.blog-microsoft.fr

 

Par Fabien Lavocat
Publié le 11 mai 2008

Exemple de code : Comment créez un contrôle dynamiquement (C#)

Cet exemple de code vous montrera par un exemple, comment créer un contrôle dynamiquement, l'insérer sur un formulaire et s'abonner à ses événements.

Placez le code suivant dans un corps de méthode où vous souhaitez que le contrôle soit créé, par exemple le Form_Load.

Prenons le cas d'un bouton, la première étape consiste à créer l'objet et affecter des valeurs à ses propriétés :

// Création du bouton
System.Windows.Forms.Button button = new Button();
button.Text = "Click me!";
button.Location = new Point(25, 25); // Définition de la position du bouton

La seconde étape, s'abonner à un événement. Pour cela, il faut créer la méthode qui sera appelée lors du déclenchement de cet événement :

private void button_Click(object sender, EventArgs e)
{
   MessageBox.Show("button_Click");
}

Ensuite le code pour s'abonner à l'événement :

// Abonnement à l'événement "Click"
button.Click += new EventHandler(button_Click);

Enfin, ajouter le contrôle sur le formulaire, rien de plus simple :

// Ajout du contrôle sur le formulaire
this.Controls.Add(button);

Petite astuce :

Lorsque vous commencez à écrire : « button.Click += », l'Intelisense vous proposera automatiquement de créer la méthode (ici button_Click) et l'abonnement à cette méthode.

[Source : http://www.blog-microsoft.fr]

Par Fabien Lavocat
Publié le 17 avril 2008

Identification LDAP en C#

Avant tout il vous faudra inclure le namespace nécessaire à l'utilisation de LDAP:


LDAP

Ensuite vous allez créer une entrée LDAP grâce à la classe DirectoryEntry:

LDAP

Le domainName sera de type String sous forme LDAP://HOST_SERVEUR
Le userName et userPasswd sera de type String et sera un login LDAP valide.
L'authenficationType est une énumération de type System.DirectoryServices.AuthenticationTypes et précisera le type d'authentification (Anonymous, Secure ...)


Grâce à notre entry nous pouvons désormais instancier un searcher:

LDAP

Ce searcher va nous permettre de rechercher un objet LDAP (un utilisateur par exemple !).



Nous pouvons par exemple filtrer grâce à l'attribut Filter sur un objet de type USER.
L'attribut SearchScope est un énuméré qui permet de choisir la portée de notre recherche.

Maintenant nous pouvons lancer notre recherche:

LDAP


Pour conclure voici un exemple de fonction que vous pouvez implémenter pour identifier un utilisateur:


LDAP

 

Article de Bertrand Vergnault

Par Julien DOLLON
Publié le 7 avril 2008

Exemple de code : Requêtes paramètrées (C#, SQL)
Dans cet exemple, nous allons voir comment écrire des requêtes paramètrées. Déjà, pourquoi écrire des requêtes paramètrées ? Et bien d'une part pour ne pas se tromper dans l'écriture de la requête, qui n'a jamais oublié des ' dans ses applications ? Ensuite il se pose un problème de sécurité, en effet il peut se produire des failles de SQL Injection.

Par Fabien Lavocat
Publié le 31 mars 2008

Exemple de code : LINQ To SQL et DataLoadOptions

Cet article a pour but d'expliquer la différence entre le Lazy Loading (chargement progressif / à la demande) et l'Agressive Loading (chargement complet en une fois) des données d'une base, avec LINQ To SQL et les DataLoadOptions.

Par Julien Corioland
Publié le 29 mars 2008

Controle de la réplication SQL Server via C# 2.0

Dans une première partie, cet article vous fera découvrir / redécouvrir les grands principes de la réplication de base de données sous SQL Server 2005. Dans une deuxième partie, nous verrons comment contrôller cette réplication, directement depuis une application développée en C# 2.0.

Par Julien Corioland
Publié le 28 mars 2008

Exemple de code : Constructeur de classe (C# 3.5)
Prenons une classe quelconque avec une propriété :

public class MyClass
{
   public String MyProperty { get; set; }
}

Nous allons maintenant voir une nouvelle façon de créer une instance de cette classe en définissant une valeur pour la propriété MyProperty.

MyClass variableA = new MyClass() { MyProperty = "Bonjour" };
MyClass variableB = new MyClass();
variableB.MyProperty = "Bonjour";

Vous remarquez le premier appel du constructeur avec l'assignation de la valeur à la propriété MyProperty est entre accolades.
Quelle est la différence entre ces deux méthodes ? Voyons ce que nous propose Reflector :

MyClass <>g__initLocal0 = new MyClass();
<>g__initLocal0.MyProperty = "Bonjour";
MyClass variableA = <>g__initLocal0;
MyClass variableB = new MyClass();
variableB.MyProperty = "Bonjour"
;

Avec ce code, nous pouvons comprendre le mécanisme de création de la variable A. La CLR commence par créer une instance de la classe MyClass en temporaire dans la mémoire de l'ordinateur, ensuite elle affecte une valeur à la propriété MyProperty de la variable temporaire puis si aucune erreur n'est déclenchée, la variable variableA reçoit la référence de la variable temporaire.
Dans la seconde méthode, on créé simplement une nouvelle instance de la classe MyClass que l'on affecte à notre variable variableB puis on change la valeur de sa propriété MyProperty.

Par Fabien Lavocat
Publié le 24 mars 2008

Exemple de code : Propriétés automatiques C(#3.5)

En C#2.0, comment fesions-nous pour créer des attributs avec leurs propriétés associées ?

private String _myProperty;

public String MyProperty
{
 get { return this._myProperty; }
 set { this._myProperty = value; }
}

Et voilà ce que le logiciel Reflector traduit à partir du code IL généré à la compilation :

private string _myProperty;

public string MyProperty
{
  get
  {
  return this._myProperty;
  }
  set
  {
  this._myProperty = value;
  }
}

Vous remarquez que ce sont exactement les même lignes.
Nous allons maintenant utiliser la simplification d'écriture de C#3.5 :

public String MyProperty
{
 get;
 set;
}

Il n'est désormais plus nécessaire de créer l'attribut privé ainsi que le contenu des méthodes get et set de la propriété.
Voilà ce que Reflector nous génére à partir du code IL :

public string MyProperty
{
  [CompilerGenerated]
  get
  {
  return this.k__backingfield;
  }
  [CompilerGenerated]
  set
  {
  this.k__BackingField = value;
  }
}

L'attribut [CompilerGenerated] qui est rajouté par le compilateur indique que c'est lui-même (le compilateur) qui as créé le contenu de la méthode. k__backingfield permet à la CLR de récupérer ou modifier la valeur auquel fait référence la propriété étant donné que tout à été généré par le compilateur.

Si vous ne connaissez pas Reflector, je vous conseille de jeter un coup d'oeil sur ce logiciel : http://www.aisto.com/roeder/dotnet/
Autre lien : http://www.blog-microsoft.fr

Par Fabien Lavocat
Publié le 23 mars 2008

Exemple de code : Convertion Explicite

A la différence de la convertion implicite, la convertion explicite est obligatoire lors qu'il y a un risque de perte de données. On utilise alors le mot clef explicit, ainsi que le type de l'objet cible entre parenthèses. Exemple :

Prennons une classe Euro et une classe Dollar afin de faire des conversions :

public class Euro
{
  public Single Value { get; set; }
  public static explicit operator Euro(Dollar value)
  {
    return new Euro() { Value = value.Value * 0.6476f };
  }
}

public class Dollar
{
  public Single Value { get; set; }
  public static explicit operator Dollar(Euro value)
  {
    return new Dollar() { Value = value.Value * 1.5435f };
  }
}

La méthode permettant de faire la convertion explicite doit être marquée static et on utilise les mots clefs explicit et operator :

public static explicit operator Type d'arrivée(Type de départ value)
{
  Traitement de la convertion...
}

Voilà comment faire la convertion explicite :

Euro euro = new Euro() { Value = 15 };
Dollar dollar = (Dollar)euro; // Convertion explicite
Console.WriteLine(euro.Value.ToString() + "€ = $" + dollar.Value.ToString());
// Affiche : 15€ = $23.1525

Lien MSDN : http://msdn2.microsoft.com/fr-fr/library/xhbhezf4.aspx
Autre lien : http://www.blog-microsoft.fr

Par Fabien Lavocat
Publié le 22 mars 2008

Exemple de code : Convertion implicite
 Introduction

Par Fabien Lavocat
Publié le 21 mars 2008

    
Page : 1 2 3 4 5  Page Suivante >
 

International Masters SUPINFO

Laboratoire Sécurité

 
   
© Copyright SUPINFO - The International Institute of Information Technology
Conditions dutilisation et Copyright - Respect de la vie prive
Labo Microsoft | Forum Microsoft | Forums .Net | Labo .Net | Blogs | FaqXP | Certifications
 
Créer un compte | Connexiondimanche 6 juillet 2008