کتابخانه gauth
معرفی Scala برای توسعهدهندگان #C
Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application.
IHostingEnvironment
is one of the most annoying interfaces in .NET Core 2.x, because it exists in two different namespaces, Microsoft.AspNetCore.Hosting and Microsoft.Extensions.Hosting . These are slightly different and are incompatible - one does not inherit from the other. Ventoy is an open source tool to create bootable USB drive for ISO files. With ventoy, you don't need to format the disk again and again, you just need to copy the iso file to the USB drive and boot it. You can copy many iso files at a time and ventoy will give you a boot menu to select them (screenshot). Both Legacy BIOS and UEFI are supported in the same way. 260+ ISO files are tested (list).
Git for Windows 2.19.0 منتشر شد
New Features
Comes with Git v2.19.0.
There are now fast, built-in versions of git stash and git rebase, available as experimental options.
The included OpenSSH client now enables modern ciphers.
The gitweb component was removed because it is highly unlikely to be used on Windows.
The git archimport tool (which was probably used by exactly 0 users) is no longer included in Git for Windows.
Rider 2017.2 EAP منتشر شد.
It comes with full support for .NET Core 2.0, adds MSTest, various NuGet improvements, a new debugger tool window for visualizing Parallel Stacks and marking of instances, new refactorings and more. And with ReSharper 2017.2 now released, we’ve updated the ReSharper version powering Rider, too. Which brings improved support for C# 7.0, initial support for C# 7.1, new code inspections, navigation improvements, and so on. Let’s look at a few highlights!
Automapper به بنیاد NET. پیوست.
AutoMapper has been a popular library in the .NET open source community for a long time. As their site says:
AutoMapper is a simple little library built to solve a deceptively complex problem - getting rid of code that mapped one object to another. This type of code is rather dreary and boring to write, so why not invent a tool to do it for us?
public partial class CustomUserCtrl : System.Web.UI.UserControl { private System.Delegate _delWithParam; private System.Delegate _delNoParam; // برای فراخوانی متدهایی از صفحه که دارای پارامتر هستند public Delegate PageMethodWithParamRef { set { _delWithParam = value; } } // برای فراخوانی متدهایی از صفحه که بدون پارامتر هستند public Delegate PageMethodWithNoParamRef { set { _delNoParam = value; } } protected void Page_Load(object sender, EventArgs e) { } protected void BtnMethodWithParam_Click(object sender, System.EventArgs e) { //Parameter to a method is being made ready object[] obj = new object[1]; obj[0] = “Parameter Value” as object; _delWithParam.DynamicInvoke(obj); } protected void BtnMethowWithoutParam_Click(object sender, System.EventArgs e) { //Invoke a method with no parameter _delNoParam.DynamicInvoke(); } }
public partial class _Default : System.Web.UI.Page { delegate void DelMethodWithParam(string strParam); delegate void DelMethodWithoutParam();
protected void Page_Load(object sender, EventArgs e) { DelMethodWithParam delParam = new DelMethodWithParam(MethodWithParam); // عامل صفحه را به عامل عمومی تعریف شده در یوزر کنترل تخصیص میدهیم this.UserCtrl.PageMethodWithParamRef = delParam; DelMethodWithoutParam delNoParam = new DelMethodWithoutParam(MethodWithNoParam); // عامل صفحه را به عامل عمومی تعریف شده در یوزر کنترل تخصیص میدهیم this.UserCtrl.PageMethodWithNoParamRef = delNoParam; }
// متد دارای پارامتری که قرار است در کنترل فراخوانی شود private void MethodWithParam(string strParam) { Response.Write(“It has parameter: ” + strParam); } // متد بدون پارامتری که قرار است در کنترل فراخوانی شود private void MethodWithNoParam() { Response.Write(“It has no parameter.”); }
public partial class _Default : System.Web.UI.Page { delegate void DelMethodWithParam(string strParam); delegate void DelMethodWithoutParam(); protected void Page_Load(object sender, EventArgs e) { DelMethodWithParam delParam = new DelMethodWithParam(MethodWithParam); // عامل صفحه را به عامل عمومی تعریف شده در یوزر کنترل تخصیص میدهیم this.UserCtrl.PageMethodWithParamRef = delParam; DelMethodWithoutParam delNoParam = new DelMethodWithoutParam(MethodWithNoParam); // عامل صفحه را به عامل عمومی تعریف شده در یوزر کنترل تخصیص میدهیم this.UserCtrl.PageMethodWithNoParamRef = delNoParam; } // متد دارای پارامتری که قرار است در کنترل فراخوانی شود private void MethodWithParam(string strParam) { Response.Write(“It has parameter: ” + strParam); } // متد بدون پارامتری که قرار است در کنترل فراخوانی شود private void MethodWithNoParam() { Response.Write(“It has no parameter.”); } }