Articles of generics

La lista genérica contiene () rendimiento y alternativas

Necesito almacenar una gran cantidad de pares de claves y valores donde la clave no sea única. Tanto la clave como el valor son cadenas. Y el recuento de artículos es de unos 5 millones. Mi objective es mantener solo parejas únicas. He intentado usar List<KeyValuePair> , pero Contains() es extremadamente lento. LINQ Any() parece […]

¿Cuál es la lista más rápida o ArrayList ?

Posible duplicado: .NET: ArrayList vs List Hola, Busqué en la web y encontré mis respuestas conflictivas, y hasta ahora no tengo claro cuál es la List or ArrayList más rápida List or ArrayList y ¿cuál es la razón? Supongo que la List debería ser más rápida pero no está segura, ya que en este caso […]

Uso de colecciones anidadas de expresiones lambda para crear un gráfico de objetos

Estoy interesado en utilizar expresiones lambda para crear un árbol de selectores de propiedades. El escenario de uso es que tenemos algo de código que hace una reflexión recursiva en un gráfico de objetos, y para limitar el scope de la recursión, actualmente estamos usando atributos para marcar las propiedades que se deben recorrer. es […]

WCF Con una interfaz y un modelo genérico.

Hay muchas preguntas sobre SO con respecto a interfaces y generics en WCF, pero no puedo encontrar una que apunte al mismo problema que tengo. Tengo un servicio con un contrato: [ServiceContract] [ServiceKnownType(typeof(CollectionWrapper))] public interface IService : { [OperationContract] ICollectionWrapper FindAssociation(string name, int pageSize, int page); } public interface ICollectionWrapper { int TotalCount { get; […]

Castle Windsor resolviendo una interfaz genérica

Tengo interfaz genérica con algunas implementaciones. interface IBaseInterface { TDetails GetDetails(TObject obj); } abstract class BaseImpl : IBaseInterface { public abstract string GetDetails(TObject obj); } class Impl0 : BaseImpl { public override string GetDetails(decimal obj) { return “decimal”; } } class Impl1 : BaseImpl { public override string GetDetails(string obj) { return “string”; } } […]

Clase genérica, ¿cómo configurar el tipo en tiempo de ejecución?

He creado una clase genérica, pero sé el tipo en tiempo de ejecución, no en diseño, por lo que me gustaría saber cómo establecer el tipo en tiempo de ejecución. Por ejemplo, tengo: public class MyGenericClass { …. } Entonces trato de usarlo. Tengo un método en otra clase, que consume esta clase genérica. En […]

Creación de un método genérico de Save () para modelos

Tengo un sistema bastante simple, y para los fines de esta pregunta hay básicamente tres partes: Modelos, Repositorios, Código de aplicación. En el núcleo están los modelos. Vamos a usar un simple ejemplo artificial: public class Person { public string FirstName { get; set; } public string LastName { get; set; } } En ese […]

¿Cómo evitar la repetición de código utilizando un servicio web de terceros – sin usar dynamic?

Estoy usando un servicio web de terceros donde todos sus métodos tienen la siguiente firma: SomeResponseClass SomeMethod(SomeRequestClass request) Cada método tiene su propia clase de solicitud y su propia clase de respuesta. Sin embargo, hay algunas cosas que todas las solicitudes tienen en común y todas las respuestas tienen en común. Cada clase de solicitud […]

cómo devolver un IList con miembros de un tipo arbitrario

No estoy seguro de que esto sea posible, pero aquí va: tengo un Zoo clase que contiene un diccionario de tipo de animal -> Lista de animales. p.ej Cat Type -> {Cat1, Cat2} Zebra Type -> {Zebra1, Zebra2} Cat y Zebra son subclases de Animal . Ahora Zoo tiene un método IList GetAnimalsOfType(Type type) . […]

Foreach struct weird error de comstackción en C #

namespace MyNamespace { public struct MyStruct { public string MyString; public int MyInt; public bool MyBool; } public class MyClass { private List MyPrivateVariable; public List MyVariable { get { if (MyPrivateVariable == null) { MyPrivateVariable = new List(); MyPrivateVariable.Add(new MyStruct()); MyPrivateVariable.Add(new MyStruct()); } return MyPrivateVariable; } } public void MyLoop() { foreach (MyStruct ms […]