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