Bonjour,
je ne comprend pas une ligne de code, je me demandais si vous pouviez m'expliquer.
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part public class nomclasse<nomObject> where nomObject : new()
Bonjour,
je ne comprend pas une ligne de code, je me demandais si vous pouviez m'expliquer.
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part public class nomclasse<nomObject> where nomObject : new()
C'est une simple déclaration de classe générique avec une contrainte sur le type du paramètre (en l'occurence le type paramètre doit être un type référence).
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
Comme le dit SaumonAgile, c'est une déclaration de classe générique, c'est à dire une classe qui peut prendre en paramètre un autre type (ou plusieurs). Par exemple, la classe List<T> est une "liste de ce que tu veux", selon la façon dont tu déclares l'instance de la classe : List<string> est une liste de chaîne, List<int> une liste d'entiers, et ainsi de suite avec le type que tu veux. C'est un concept très puissant pour faire des classes réutilisables dans différents contextes, avec différents types de données.
Non, la contrainte new() indique que le type doit avoir un constructeur public par défaut (i.e. sans paramètre), de façon à pouvoir créer une instance en faisant new nomObject(). Pour forcer un type référence, la contrainte est where nomObject : class.
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager