Articles of clr

¿Lanzar lo mismo que convertir?

En el libro Learning C # de Jesse Liberty, dice: “Los objetos de un tipo se pueden convertir en objetos de otro tipo. Esto se conoce como casting“. Si investigas el IL generado a partir del código siguiente, puedes ver claramente que la asignación casted no está haciendo lo mismo que la asignación convertida. En […]

¿Deberíamos siempre incluir un constructor predeterminado en la clase?

Un colega me ha hecho esta pregunta, ¿deberíamos incluir siempre un constructor predeterminado en una clase? Si es así, ¿por qué? Si no, ¿por qué no? Ejemplo public class Foo { Foo() { } Foo(int x, int y) { … } } También estoy interesado en obtener algunas luces sobre esto de expertos.

¿Por qué el tamaño de la stack en C # es exactamente 1 MB?

Las PC actuales tienen una gran cantidad de RAM física, pero aún así, el tamaño de stack de C # es de solo 1 MB para procesos de 32 bits y 4 MB para procesos de 64 bits ( Capacidad de stack en C # ). ¿Por qué el tamaño de la stack en CLR […]

Flotante vs Doble Rendimiento

Hice algunas pruebas de tiempo y también leí algunos artículos como este (último comentario), y parece que en Release build, float y double values ​​toman la misma cantidad de tiempo de procesamiento. ¿Cómo es esto posible? Cuando el flotador es menos preciso y más pequeño en comparación con los valores dobles, ¿cómo puede el CLR […]

Resolver referencias de ensamblado desde otra carpeta

Estoy desarrollando una aplicación que hace referencia y utiliza algunas asambleas de terceros de un determinado proveedor; en el cuadro de desarrollo tengo estos 3 ensamblajes en una carpeta de referencia en mi árbol de fonts y puedo hacer referencia a ellos y crear la aplicación, las comstackciones de aplicaciones pero no se ejecutan porque […]

¿Cómo detectar qué .NET runtime se está utilizando (MS vs Mono)?

Me gustaría saber durante la ejecución de un progtwig si se está ejecutando utilizando el tiempo de ejecución Mono o el tiempo de ejecución de Microsoft. Actualmente estoy usando el siguiente código para determinar si estoy en un MS CLR: static bool IsMicrosoftCLR() { return RuntimeEnvironment.GetRuntimeDirectory().Contains(“Microsoft”); } Sin embargo, esto es algo dependiente de la […]

¿Qué es una “referencia rooteada”?

Cita de ( seguro en C # no en C ++, retorno simple de puntero / referencia, respuesta 3) por Eric lippert. Además, tenga en cuenta que no es ninguna referencia al objeto Persona lo que lo mantiene con vida. La referencia debe estar enraizada. Podría tener dos objetos Persona que se refieran entre sí, […]

¿Por qué Random.Next () siempre devuelve el mismo número

Considera este método: private static int GenerateRandomNumber(int seed, int max) { return new Random(seed).Next(max); } En mi máquina, la ejecución de este ciclo produce el mismo número a través de 1500 iteraciones: for (int i = 0; i < 1501; i++) { int random = GenerateRandomNumber(100000000, 999999999); Console.WriteLine(random.ToString()); Console.ReadKey(); } Obtengo 145156561, por cada iteración. […]

Hosting CLR en Delphi con / sin JCL – ejemplo

¿Alguien puede publicar aquí un ejemplo de cómo alojar CLR en Delphi? He leído una pregunta similar aquí, pero no puedo usar JCL porque quiero alojarlo en Delphi 5. Gracias. EDITAR: Este artículo sobre el alojamiento de CLR en Fox Pro parece prometedor, pero no sé cómo acceder clrhost.dll desde Delphi. Editar 2: renuncio al […]

¿Cómo se relacionan los números de versión de .NET Framework, CLR y Visual Studio entre sí?

Con el reciente anuncio de .NET 4.0 y Visual Studio 2010, cada vez es más difícil hacer un seguimiento de qué versiones de .NET Framework se basan en qué versión de CLR y pertenecen a qué versión (es) de Visual Studio. ¿Hay una tabla definitiva que muestre estas relaciones?