Articles of c # 4.0

Métodos en conflicto sobrecargados con parámetros opcionales

Tengo dos métodos sobrecargados, uno con un parámetro opcional. void foo(string a) { } void foo(string a, int b = 0) { } ahora llamo: foo(“abc”); curiosamente se llama la primera sobrecarga. ¿por qué no la segunda sobrecarga con valor opcional puesto a cero? Para ser sincero, hubiera esperado que el comstackdor presentara un error, […]

Crear nombre de variable dinámica

¿Podemos crear variables dinámicas en C #? Sé que mi código de abajo arrojó errores y una encoding muy pobre. Pero este código tiene una lógica pequeña como crear una variable dinámica var name=0; for(i=0;i<10;i++)// 10 means grid length { name+i=i; } var xx1=name1; var xx2=name2; var xx3=name3; ¿Es posible en c #? Crear variable […]

¿Cómo detecta el comstackdor C # los tipos COM?

EDITAR: He escrito los resultados como una publicación de blog . El comstackdor de C # trata los tipos COM de forma mágica. Por ejemplo, esta afirmación parece normal … Word.Application app = new Word.Application(); … hasta que te das cuenta de que la Application es una interfaz. ¿Llamar a un constructor en una interfaz? […]

El tipo de interoperabilidad no se puede incrustar

Estoy creando una aplicación web en .NET 4.0 framework (beta2) en C #. Cuando bash usar un ensamblado llamado “ActiveHomeScriptLib”, aparece el siguiente error: El tipo de interoperabilidad ‘ActiveHomeScriptLib.ActiveHomeClass’ no se puede incrustar. Use la interfaz aplicable en su lugar. Cuando cambio el marco a la versión 3.5, no tengo ningún error. ¿Qué es un […]

.NET NewtonSoft JSON deserializa el mapa a un nombre de propiedad diferente

Tengo la siguiente cadena JSON que se recibe de una parte externa. { “team”:[ { “v1″:””, “attributes”:{ “eighty_min_score”:””, “home_or_away”:”home”, “score”:”22″, “team_id”:”500″ } }, { “v1″:””, “attributes”:{ “eighty_min_score”:””, “home_or_away”:”away”, “score”:”30″, “team_id”:”600″ } } ] } Mis clases de mapeo: public class Attributes { public string eighty_min_score { get; set; } public string home_or_away { get; set; […]

Parallel.ForEach versus Task.Factory.StartNew

¿Cuál es la diferencia entre los siguientes fragmentos de código? ¿No usarán ambos subprocesos threadpool? Por ejemplo, si quiero llamar a una función para cada elemento en una colección, Parallel.ForEach(items, item => DoSomething(item)); vs foreach(var item in items) { Task.Factory.StartNew(() => DoSomething(item)); }

Ejemplo del mundo real de covarianza y contravarianza

Me cuesta un poco entender cómo usaría la covarianza y la contravarianza en el mundo real. Hasta ahora, los únicos ejemplos que he visto han sido el mismo antiguo ejemplo de matriz. object[] objectArray = new string[] { “string 1”, “string 2” }; Sería bueno ver un ejemplo que me permita usarlo durante mi desarrollo […]

Diferencia entre covarianza y contra-varianza

Tengo problemas para entender la diferencia entre covarianza y contravarianza.

¿Cómo se implementa la covarianza y contra varianza genéricas en C # 4.0?

No asistí a PDC 2008, pero escuché algunas noticias de que C # 4.0 se anuncia para admitir la covarianza y la contravariancia genéricas. Es decir, List se puede asignar a List . ¿Cómo es posible? En el libro de Jon Skeet, C # in Depth , se explica por qué los generics C # […]

Método de extensión y objeto dynamic

Voy a resumir mi problema en el siguiente fragmento de código. List list = new List() { 5, 56, 2, 4, 63, 2 }; Console.WriteLine(list.First()); El código anterior está funcionando bien. Ahora probé lo siguiente dynamic dList = list; Console.WriteLine(dList.First()); pero obtengo RuntimeBinderException. ¿Por qué es así?