Existe-t-il un moyen courant de passer un seul élément de type Tà une méthode qui attend un IEnumerable<T> paramètre? Le langage est C #, framework version 2.0. Actuellement, j'utilise une méthode d'assistance (c'est .Net 2.0, j'ai donc tout un tas de méthodes d'aide à la coulée / projection similaires à …
Quelqu'un peut-il me dire s'il existe un moyen avec les génériques de limiter un argument de type générique Tà seulement: Int16 Int32 Int64 UInt16 UInt32 UInt64 Je connais le wheremot clé, mais je ne trouve pas d'interface uniquement pour ces types, Quelque chose comme: static bool IntegerFunction<T>(T value) where T …
Selon la documentation de l' ==opérateur dans MSDN , Pour les types de valeurs prédéfinis, l'opérateur d'égalité (==) renvoie true si les valeurs de ses opérandes sont égales, false sinon. Pour les types de référence autres que chaîne, == renvoie true si ses deux opérandes font référence au même objet. …
J'ai une classe générique dans mon projet avec des classes dérivées. public class GenericClass<T> : GenericInterface<T> { } public class Test : GenericClass<SomeType> { } Existe-t-il un moyen de savoir si un Typeobjet est dérivé GenericClass? t.IsSubclassOf(typeof(GenericClass<>)) ne marche pas.
J'ai une IEnumerable<T>méthode que j'utilise pour trouver des contrôles dans une page WebForms. La méthode est récursive et j'ai des problèmes pour retourner le type que je veux quand le yield returnretourne la valeur de l'appel récursif. Mon code ressemble à ceci: public static IEnumerable<Control> GetDeepControlsByType<T>(this Control control) { foreach(Control …
Je me demande s'il y a une raison particulière en Java pour utiliser toujours " extends" plutôt que " implements" pour définir les limites des paramètres. Exemple: public interface C {} public class A<B implements C>{} est interdit mais public class A<B extends C>{} est correct. Quelle est la raison …
J'ai une méthode générique définie comme ceci: public void MyMethod<T>(T myArgument) La première chose que je veux faire est de vérifier si la valeur de myArgument est la valeur par défaut pour ce type, quelque chose comme ceci: if (myArgument == default(T)) Mais cela ne compile pas car je n'ai …
Je veux faire quelque chose comme ça: myYear = record.GetValueOrNull<int?>("myYear"), Notez le type nullable comme paramètre générique. Puisque la GetValueOrNullfonction pouvait retourner null, ma première tentative était la suivante: public static T GetValueOrNull<T>(this DbDataRecord reader, string columnName) where T : class { object columnValue = reader[columnName]; if (!(columnValue is DBNull)) …
Existe-t-il une méthode propre de se moquer d'une classe avec des paramètres génériques? Disons que je dois me moquer d'une classe Foo<T>que je dois passer dans une méthode qui attend a Foo<Bar>. Je peux faire ce qui suit assez facilement: Foo mockFoo = mock(Foo.class); when(mockFoo.getValue).thenReturn(new Bar()); En supposant que getValue()renvoie …
Vous pouvez trouver les éléments suivants sur le Web: Constructeur de type supérieur == type? class AClass[T]{...} // For example, class List[T] Certains disent qu'il s'agit d'un type de type supérieur, car il résume les types qui seraient conformes à la définition. Les types supérieurs sont des types qui prennent …
Quelle est la raison pour laquelle Java ne nous permet pas de faire private T[] elements = new T[initialCapacity]; Je pouvais comprendre que .NET ne nous permettait pas de le faire, car dans .NET, vous avez des types de valeur qui, au moment de l'exécution, peuvent avoir des tailles différentes, …
J'ai du mal à naviguer dans la règle de Java pour déduire des paramètres de type génériques. Considérez la classe suivante, qui a un paramètre de liste facultatif: import java.util.Collections; import java.util.List; public class Person { private String name; private List<String> nicknames; public Person(String name) { this(name,Collections.emptyList()); } public Person(String …
J'ai; List<String> stringList = new ArrayList<String>(); List<Integer> integerList = new ArrayList<Integer>(); Existe-t-il un moyen (facile) de récupérer le type générique de la liste?
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.