Preguntas etiquetadas con generics

84
¿Tiene .NET un EventArgs <T> integrado?

Me estoy preparando para crear una clase EventArgs genérica para argumentos de eventos que llevan un solo argumento: public class EventArg<T> : EventArgs { // Property variable private readonly T p_EventData; // Constructor public EventArg(T data) { p_EventData = data; } //...

84
Conversión de Int a Genérico Enum en C #

Similar a Cast int to enum en C # pero mi enum es un parámetro de tipo genérico. ¿Cuál es la mejor manera de manejar esto? Ejemplo: private T ConvertEnum<T>(int i) where T : struct, IConvertible { return (T)i; } Genera error del compilador Cannot convert type 'int' to 'T' El código...

83
Verificación de tipos y genéricos de C #

Tengo un método que usa an IList<T>como parámetro. Necesito verificar cuál es el tipo de ese Tobjeto y hacer algo basado en él. Intentaba usar el Tvalor, pero el compilador no lo permite. Mi solución es la siguiente: private static string BuildClause<T>(IList<T> clause) { if...

82
Explicación del principio get-put

He leído el libro de O'Reilly, en el que llegué a conocer este principio de ponerse manos a la obra . Utilice un extendscomodín cuando solo obtenga valores de una estructura. Utilice un supercomodín cuando solo ponga valores en una estructura. Y no use un comodín cuando ambos quieran...

81
¿Cómo comparar valores de tipos genéricos?

¿Cómo comparo valores de tipos genéricos? Lo he reducido a una muestra mínima: public class Foo<T> where T : IComparable { private T _minimumValue = default(T); public bool IsInRange(T value) { return (value >= _minimumValue); // <-- Error here } } El error es: El...

79
¿Qué significa "T" en C #?

Tengo experiencia en VB y me estoy convirtiendo a C # para mi nuevo trabajo. También estoy tratando de mejorar en .NET en general. He visto que la palabra clave "T" se usa mucho en las muestras que publica la gente. ¿Qué significa la "T" en C #? Por ejemplo: public class SomeBase<T> where...