Articles of extension methods

¿Cómo uso las extensiones principales de soporte activo?

Tengo Active Support 3.0.3 instalado y Rails 3.0.3 con Ruby 1.8.7. Cuando trato de usar 1.week.ago consigo NoMethodError: undefined method ‘week’ for 1:Fixnum from (irb):2 Las otras extensiones principales parecen funcionar. Lo probé en la computadora de un amigo (las mismas especificaciones de instalación y versiones heredadas están en él) con los mismos resultados. ¿Lo […]

¿Cuál es el rendimiento del método de extensión Last () para List ?

Realmente me gusta Last() y lo usaría todo el tiempo para List s. Pero dado que parece estar definido para IEnumerable , supongo que enumera primero la enumeración, esto debería ser O (n) en oposición a O (1) para indexar directamente el último elemento de una List . ¿Los métodos de extensión estándar (Linq) son […]

¿Utiliza métodos de extensión en .NET 2.0?

Quiero hacer esto, pero obtengo este error: Error 1 No se puede definir un nuevo método de extensión porque el comstackdor requerido tipo ‘System.Runtime.CompilerServices.ExtensionAttribute’ no se puede encontrar. ¿Echas de menos una referencia a System.Core.dll? [corté algunas cosas del camino] He visto algunas respuestas aquí que dice: tienes que definir este atributo tú mismo. ¿Cómo […]

Resolución de métodos de extensión / ambigüedad LINQ

Estoy escribiendo un complemento para ReSharper 4. Para esto, necesité hacer referencia a varios ensambles de ReSharper. Uno de los ensamblados (JetBrains.Platform.ReSharper.Util.dll) contiene un espacio de nombres System.Linq , con un subconjunto de métodos de extensión que ya proporciona System.Core. Cuando edito el código, crea una ambigüedad entre esas extensiones, por lo que no puedo […]

¿Es posible implementar mixins en C #?

He oído que es posible con los métodos de extensión, pero no puedo resolverlo por mi cuenta. Me gustaría ver un ejemplo específico si es posible. ¡Gracias!

¿Puedo usar métodos de extensión y LINQ en .NET 2.0 o 3.0?

Cuando trato de agregar un método de extensión usando .NET 2.0 o 3.0 runtime, obtengo el error: No se puede definir un nuevo método de extensión porque el comstackdor requerido tipo ‘System.Runtime.CompilerServices.ExtensionAttribute’ no se puede encontrar. ¿Echas de menos una referencia a System.Core.dll? Pero no puedo encontrar System.Core en la lista de referencias disponibles cuando […]

La operación no se puede completar porque se ha eliminado el DbContext

Soy nuevo en EF y estoy tratando de usar un método de extensión que convierta mi User tipo de base de datos a mi clase de información UserInfo . Estoy usando la base de datos primero si eso hace la diferencia? Mi código a continuación da el error La operación no se puede completar porque […]

.NET List Concat vs AddRange

¿Cuál es la diferencia entre las funciones AddRange y Concat en una lista genérica? ¿Se recomienda uno sobre el otro?

Posibles trampas del uso de esta taquigrafía (basada en el método de extensión)

C # 6 Actualización En C # 6 ?. ahora es una función de idioma : // C#1-5 propertyValue1 = myObject != null ? myObject.StringProperty : null; // C#6 propertyValue1 = myObject?.StringProperty; La pregunta a continuación todavía se aplica a las versiones anteriores, pero si desarrolla una nueva aplicación utilizando la nueva ?. el operador […]

Sintaxis de los métodos de extensión frente a la syntax de la consulta

Estoy tratando de entender si hay un buen momento para usar palabras clave linq estándar o métodos de extensión linq con expresiones lambda. Parece que hacen lo mismo, simplemente están escritos de manera diferente. ¿Es puramente una cuestión de estilo? var query = from p in Products where p.Name.Contains(“foo”) orderby c.Name select p; // or […]