J'essaie de créer une méthode générique qui lira un attribut sur une classe et retournera cette valeur au moment de l'exécution. Comment ferais-je cela? Remarque: l'attribut DomainName est de classe DomainNameAttribute. [DomainName("MyTable")] Public class MyClass : DomainBase {} Ce que j'essaye de générer: //This should return "MyTable" String DomainNameValue = …
J'espérais faire quelque chose comme ça, mais cela semble être illégal en C #: public Collection MethodThatFetchesSomething<T>() where T : SomeBaseClass { return T.StaticMethodOnSomeBaseClassThatReturnsCollection(); } J'obtiens une erreur de compilation: "" T "est un" paramètre de type ", qui n'est pas valide dans le contexte donné." Étant donné un paramètre …
J'écris actuellement du code pour UnconstrainedMelody qui a des méthodes génériques à voir avec les enums. Maintenant, j'ai une classe statique avec un tas de méthodes qui sont ne destinées qu'à être utilisées avec des énumérations "flags". Je ne peux pas ajouter cela comme contrainte ... il est donc possible …
existe-t-il un moyen de récupérer le type à Tpartir IEnumerable<T>de la réflexion? par exemple j'ai une IEnumerable<Child>info variable ; je veux récupérer le type de l'enfant par réflexion
J'ai rencontré une situation curieuse impliquant des méthodes génériques statiques. Voici le code: class Foo<E> { public static <E> Foo<E> createFoo() { // ... } } class Bar<E> { private Foo<E> member; public Bar() { member = Foo.createFoo(); } } Comment se fait-il que je n'ai pas à spécifier d'arguments …
Par exemple, j'ai une telle requête: Query q = sess.createQuery("from Cat cat"); List cats = q.list(); Si j'essaye de faire quelque chose comme ça, ça affiche l'avertissement suivant Type safety: The expression of type List needs unchecked conversion to conform to List<Cat> List<Cat> cats = q.list(); Y a-t-il un moyen …
Je travaille sur une classe de matrice clairsemée qui doit utiliser un tableau de LinkedListpour stocker les valeurs d'une matrice. Chaque élément du tableau (c'est-à-dire chacun LinkedList) représente une ligne de la matrice. Et, chaque élément du LinkedListtableau représente une colonne et la valeur stockée. Dans ma classe, j'ai une …
Cela est apparu comme une question que j'ai posée lors d'une interview récemment comme quelque chose que le candidat souhaitait voir ajouté au langage Java. Il est communément identifié comme une douleur que Java n'ait pas de génériques réifiés mais, une fois poussé, le candidat ne pouvait pas vraiment me …
Je suis nouveau en C # et je ne comprends pas pourquoi le code suivant ne fonctionne pas. public static Nullable<T> CoalesceMax<T>(Nullable<T> a, Nullable<T> b) where T : IComparable { if (a.HasValue && b.HasValue) return a.Value.CompareTo(b.Value) < 0 ? b : a; else if (a.HasValue) return a; else return b; …
Si j'ai une signature de méthode comme public string myMethod<T>( ... ) Comment puis-je, à l'intérieur de la méthode, obtenir le nom du type qui a été donné comme argument de type? J'aimerais faire quelque chose de similaire à typeof(T).FullName, mais cela fonctionne réellement ...
Comment puis-je instancier le type T dans ma InstantiateType<T>méthode ci-dessous? J'obtiens l'erreur: «T» est un «paramètre de type» mais est utilisé comme une «variable». : (DÉFILEZ VERS LE BAS POUR UNE RÉPONSE REFACTORÉE) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestGeneric33 { class Program { static void Main(string[] …
J'ai la méthode suivante: namespace ListHelper { public class ListHelper<T> { public static bool ContainsAllItems(List<T> a, List<T> b) { return b.TrueForAll(delegate(T t) { return a.Contains(t); }); } } } Le but est de déterminer si une liste contient tous les éléments d'une autre liste. Il me semble que quelque chose …
Je trouve cela SortedList<TKey, TValue> SortedDictionary<TKey, TValue>et Dictionary<TKey, TValue>implémente les mêmes interfaces. Quand devrions-nous opter pour SortedListet SortedDictionaryplus Dictionary? Quelle est la différence entre SortedListet SortedDictionaryen termes d'application?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.