Articles of c # 3.0

Listar solo con un conjunto privado

¿Cómo puedo exponer una List para que sea de solo lectura, pero se puede establecer de forma privada? Esto no funciona: public List myList {readonly get; private set; } Incluso si lo haces: public List myList {get; private set; } Todavía puedes hacer esto: myList.Add(“TEST”); //This should not be allowed Supongo que podrías tener: public […]

Cómo crear un método dynamic de extensión de combinación LINQ

Hubo una biblioteca de métodos dynamics de extensiones LINQ lanzados como muestra con Visual Studio 2008 . Me gustaría extenderlo con un método de unión. El código siguiente falla con una excepción de coincidencia de parámetros en tiempo de ejecución. ¿Dónde está el problema? public static IQueryable Join(this IQueryable outer, IEnumerable inner, string outerSelector, string […]

Qué usar: var o nombre del objeto?

esta es una pregunta que cuando programo siempre me pregunto: qué usar cuando estamos escribiendo código: var myFiles = Directory.GetFiles(fullPath); o string[] myFiles = Directory.GetFiles(fullPath); var es nuevo y es una variable local implícitamente tipada , por lo que solo podemos usarla localmente y tiene reglas como no puede ser nula, etc., pero me pregunto […]

Declaración de tipos anónimos Lista

¿Hay alguna forma de declarar un objeto de lista de tipo anónimo? quiero decir List someVariable = new List(); someVariable.Add( new{Name=”Krishna”, Phones = new[] {“555-555-5555”, “666-666-6666”}} ); Esto se debe a que necesito crear una colección en tiempo de ejecución. Gracias por adelantado

Ejecución diferida y evaluación entusiasta

¿Podría darme un ejemplo para la ejecución diferida con una evaluación entusiasta en C #? Leí de MSDN que la ejecución diferida en LINQ puede implementarse con evaluación floja o con ganas. Pude encontrar ejemplos en Internet para la ejecución diferida con evaluación diferida, pero no pude encontrar ningún ejemplo para la ejecución diferida con […]

System.Drawing.Image para transmitir C #

Tengo un System.Drawing.Image en mi progtwig. El archivo no está en el sistema de archivos que se está reteniendo en la memoria. Necesito crear una transmisión desde allí. ¿Cómo voy a hacer esto?

Inferencia de tipo genérico C # 3.0 – pasar un delegado como parámetro de función

Me pregunto por qué el comstackdor C # 3.0 no puede inferir el tipo de un método cuando se pasa como un parámetro a una función genérica cuando puede crear implícitamente un delegado para el mismo método. Aquí hay un ejemplo: class Test { static void foo(int x) { } static void bar(Action f) { […]

Sección de app.config personalizada con una lista simple de elementos “agregar”

¿Cómo creo una sección de app.config personalizada que es solo una lista simple de add elementos? He encontrado algunos ejemplos (por ejemplo, ¿Cómo crear una sección de configuración personalizada en app.config? ) Para secciones personalizadas que se ven así: Pero, ¿cómo evito el elemento de recostackción adicional (“Compañías”) para que se vea igual que las […]

¿Por qué las propiedades de los tipos anónimos en C # son de solo lectura?

En C #, las propiedades de los tipos anónimos son de solo lectura: var person = new { Surname = “Smith”, OtherNames = “John” }; person.Surname = “Johnson”; // ERROR: .Surname is read-only Por supuesto, puedo declarar una clase real si quiero campos o propiedades modificables, pero, independientemente, ¿cuál es el razonamiento detrás de esta […]

¿Por qué debe emitirse una expresión lambda cuando se proporciona como un parámetro delegado simple?

Tome el método System.Windows.Forms.Control.Invoke (método Delegate) ¿Por qué esto da un error de tiempo de comstackción? string str = “woop”; Invoke(() => this.Text = str); // Error: Cannot convert lambda expression to type ‘System.Delegate’ // because it is not a delegate type Sin embargo, esto funciona bien: string str = “woop”; Invoke((Action)(() => this.Text = […]