martes, 27 de junio de 2017
Hace poco hablábamos del nuevo soporte para tuplas de C#, y comentábamos que una forma de consumirlas era mediante la deconstrucción, otra nueva característica introducida en la versión 7 del lenguaje, que consiste en “despiezar” las tuplas, extrayendo de ellas sus elementos e introduciéndolos en variables locales, utilizando una sintaxis muy concisa.
En realidad no es algo demasiado diferente a lo que hacemos normalmente cuando almacenamos en una variable local el resultado de un método que retorna un único valor:
En realidad no es algo demasiado diferente a lo que hacemos normalmente cuando almacenamos en una variable local el resultado de un método que retorna un único valor:
// Guardamos el valor de retorno en variable local var sum = Sum(1, 3); Console.WriteLine($"Sum: {sum}"); ... static int Sum(int a, int b) { return a+b; }
lunes, 26 de junio de 2017
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
.NET/.NET Core
- The week in .NET – .NET Architecture: Microservices & Containers, On .NET with Omer Raviv on OzCode, Sprache
Bertrand Le Roy - Multi-Targeting and Porting a .NET Library to .NET Core 2.0
Rick Strahl - Mocking in .NET Core Tests with Moq
Jason Roberts - Abolishing Switch-Case Statement and Pattern Matching in C# 7.0
Nikola Živković - Perks of using UI for ASP.NET MVC
Matt Millican - Four ways to dispose IDisposables in ASP.NET Core
Andrew Lock - High-performance .NET by example: Filtering bot traffic
Alexandr Nikitin - Consuming Google.Apis.Sheets.V4 Services From C#
Tapan Kumar - C# - Make C# More Dynamic with Hyperlambda
Thomas Hansen - Understanding & Profiling C# Async Await Tasks
Matt Watson
martes, 20 de junio de 2017
Continuamos esta serie sobre las novedades incluidas en C#7, y en esta ocasión vamos a ver una pequeña mejora en el lenguaje que seguro nos será de utilidad para simplificar código muy frecuente: las expresiones throw.
Fijaos en un código como el siguiente, que seguro que habéis escrito cientos de veces, donde utilizamos el constructor de una clase para recibir sus dependencias y almacenarlas en miembros de la instancia:
Fijaos en un código como el siguiente, que seguro que habéis escrito cientos de veces, donde utilizamos el constructor de una clase para recibir sus dependencias y almacenarlas en miembros de la instancia:
public class MyService: IMyService { private readonly IDependency _first; private readonly IAnotherDependency _second; public MyService(IDependency first, IAnotherDependency second) { if (first==null) throw new ArgumentNullException("first"); if (second == null) // O mejor, usando el operador nameof throw new ArgumentNullException(nameof(second)); _first = first; _second = second; } ... }
lunes, 19 de junio de 2017
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
.NET/.NET Core
- The week in .NET – On .NET with Mattias Karlsson on Cake, Topshelf
Bertrand Le Roy - How to reference a .NET Core library in WinForms - Or, .NET Standard Explained
Scott Hanselman - How the .NET Runtime loads a Type
Matt Warren - Creating your first shared library in .NET Core
Paul Hiles - My Favorite C# 7 Feature: More expression-bodied members
James Montemagno - The TDLR; on easily managing .NET concurrent asynchronous threads
Michael Ballhaus - Hangfire: Task Scheduler for .NET
Ilya Chumakov - C# 7.x and 8.0: Uncertainty and Awesomeness
Erik Heemskerk - Calling Web Services with HttpWebRequest, WebClient and HttpClient
Peter Vogel - Automate Testing and Running Apps with dotnet watch
Steve Smith - Viva, Visual Basic! Or, Does VB Have a Future?
Michael Domingo - Visual Basic and Cross-Platform: Mobile Apps with VB, Xamarin, and .NET Standard!
Klaus Löffelmann - Microsoft .NET Framework 4.7 is available on Windows Update, WSUS, and MU Catalog
Jamshed Damkewala - How to build / publish self contained .NET Core binaries for Windows, Linux and OSX
Christophe Diericx - AutoMapper 6.1.0 released
Jimmy Bogard
martes, 13 de junio de 2017
Y continuamos escarbando en las nuevas características disponibles en C#7, incluido de serie en Visual Studio 2017. Hasta el momento hemos profundizado en las siguientes novedades:
En esta ocasión nos centraremos en la vuelta de tuerca que se ha dado a las tuplas a nivel de lenguaje, reforzándolas como first-class citizens para los desarrolladores C#.
En esta ocasión nos centraremos en la vuelta de tuerca que se ha dado a las tuplas a nivel de lenguaje, reforzándolas como first-class citizens para los desarrolladores C#.
lunes, 12 de junio de 2017
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
.NET/.NET Core
- The week in .NET – On .NET with Brett Morrison, DateTime Extensions
- Bertrand Le Roy
- Performance Improvements in .NET Core
Stephen Toub - Top .NET Software Errors: 50 Common Mistakes and How to Fix Them
Angela Stringfellow - Building the Ultimate RestSharp Client in ASP.NET and C#
Matthew Jones - An Early Look at C# 7.1: Part 1
Jonathan Allen - C# 7.1 and Beyond: Polishing Usability
Erik Heemskerk - Retaining (and altering) key functions when using Console.ReadKey()
Jasper Lammers - Iterators in C#: yield, IEnumerable & IEnumerator
Alan Zucconi - C# 7 Series, Part 3: Default Literals
Mark Zhou - Trying .NET Core on Linux with just a tarball (without apt-get)
Scott Hanselman - C# 7.2 and 8.0 Roadmap
Jonathan Allen
martes, 6 de junio de 2017
Cuando desarrollamos aplicaciones web que funcionan sobre el protocolo HTTPS en la máquina local, lo más habitual es que utilicemos un certificado digital autofirmado o, en cualquier caso, firmado por una entidad no confiable.
Esto hace que los navegadores, por supuesto siempre con el ánimo de preservar nuestra privacidad, sospechen del sitio web y muestren alertas como la siguiente, donde se nos informa de que el certificado es inválido y que alguien podría estar intentando robarnos información:
Esto hace que los navegadores, por supuesto siempre con el ánimo de preservar nuestra privacidad, sospechen del sitio web y muestren alertas como la siguiente, donde se nos informa de que el certificado es inválido y que alguien podría estar intentando robarnos información:
lunes, 5 de junio de 2017
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
.NET/.NET Core
- The week in .NET – Open XML SDK, Adventure Time
Bertrand Le Roy - .NET Core - Cross-Platform Code Generation with Roslyn and .NET Core
Alessandro Del Sole - C# 7 Series, Part 2: Async Main
Mark Zhou - The Fraternal Twins of Equals and GetHashCode
Tim Patrick - .NET Standard, una librería para dominarlos a todos
Diego Bersano - Array Pool
Christian Nagel - The Coming .NET Renaissance
Aaron Stannard - Integration testing with .NET Core
Dmitriy Litichevskiy