Covariance and Contra-variance
What is covariance and contra-variance in .NET Framework 4.0 with example for each.
Expert
In .NET 4.0, CLR supports contra variance and covariance of types in the generic interfaces and delegates.
Covariance allows you to cast the generic type to its base types, that is, instance of type IEnumerable<Tl> can be assigned to a variable of type IEnumerable<T2> where, T1 derives from T2. For example, IEnumerable<string> str1= new List<string> (); IEnumerable<object> str2= str1;
Contravariance permits you to assign a variable of Action<base> to a variable of type Action<derived>. For illustration, IComparer<object> obj1 = GetComparer() IComparer<string> obj2 = obj1;
.NET framework 4.0 uses some language keywords (out and in) to annotate contra- variance and covariance. “Out” is used for covariance, while “in” is used for contra-variance. Variance is applied only to generic interfaces, reference types and generic delegates. These cannot be applied to generic types and value types.
How can you send an email message through an ASP.NET Web page?
Specify the new features involved in the Microsoft AJAX library?
Specify the requirements to run ASP.NET AJAX applications on the server?
State the role of ScriptManagerProxy control?
Write main difference between classic ADO and ADO.NET?
Name the values that can be allocated to a DialogResult property of the Button control?
Specify what does term “managed” mean within the .NET context?
Write the difference between an interface and abstract class?
Describe the appSettings Section which contains in a web.config file?
Explain about the types of ASP Objects?
18,76,764
1928797 Asked
3,689
Active Tutors
1448209
Questions Answered
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!