Skip to main content

Posts

Showing posts from 2014

Null Conditional Operators (?.) in C# 6.0 (New Feature)

Here I am discussing about the new feature called “ null-conditional operators ” introduced in C# 6.0 (VS 2015 and .Net 4.6). First we can see the old way, InvoiceDetails = Invoice != null ?   Invoice.InvoiceDetails : null; If(Invoice != null && Invoice. InvoiceDetails  != null) {      Amount = Invoice. InvoiceDetails.Amount. ; } else {     Amount = 0; } Or  Amount = Invoice != null ? (Invoice.InvoiceDetails != null ? Invoice.InvoiceDetails.Amount : 0) : 0;      In the above code used null conditional operator, nested if statements etc. In  C# 6.0 provides the new way to check for Null. We can use  Null-conditional operator (“?.”) for reduce number of lines of codes. InvoiceDetails = Invoice?.InvoiceDetails; If all of the conditions are met, this will return the actual value; otherwise, it will return null. It checks the InvoiceDetails object and returns a value if Invoice is not equal to null; else, it returns null. Amount = Invoice?.InvoiceDetails?.Amount;

How WCF Method Overloading Works

Let's first define overloading so that we may better comprehend this topic.       The process of implementing polymorphism in object-oriented programming is known as method overloading. There is no requirement that the parameters in two methods be of the same type; a method can be overloaded based on the type, quantity, and order of its parameters. Many of us believe that WCF supports method overloading because C# does. No, in actuality. Why?  Consider the following example: [ ServiceContract ]   public interface IMyService   {   [ OperationContract ]    ExampleData[] GetExampleData( string Code);   [ OperationContract ]   ExampleData [] GetExampleData(string Code, DateTime date);  } Now that you have implemented this interface and hosted it as a WCF service, it will fail with a contract mismatch error since the WSDL forbids the creation of duplicate client methods. We can now review the definition.  There are two ways in the interface.  The method