Describe contra-variance and covariance
Briefly describe contra-variance and covariance in .NET Framework 4.0 and give an example for both?
Expert
In .NET 4.0, the CLR supports contra-variance and covariance of kind in general interfaces and delegates. Covariance allow to cast a generic kind to its base types, that is, we can allot a instance of type IEnumerable<Tl> to a variable of type IEnumerable<T2> where, T1 receives from T2. Such as:
Contravariance permits us to allot a variable of Action<base> to a variable of type Action<derived>. Like:
IEnumerable<string> str1= new List<string> (); IEnumerable<object> str2= str1; IComparer<object> obj1 = GetComparer() IComparer<string> obj2 = obj1
.NET framework 4.0 uses a number of language keywords ‘in and out’ to interpret covariance and contra-variance. ‘Out’ is for covariance, whereas ‘in’ is used for contra-variance.
Variance can be related only to reference types, generic delegates and generic interfaces. These cannot be applied to generic types and value types.
Is it possible to declare a private class in a namespace?
Two catch blocks can be executed or not?
Why Windows Installer is used?
How we can dynamically add the user controls to the page?
Describe where us the entry point in the WPF application?
State the difference between Managed and Unmanaged Code?
Differentiate between the methods Clone() and Copy() of a DataSet class?
Write about the SOAP encoding?
Give the basic syntax of LINQ query in Visual Basic as well as in C#.
Is it possible to post and access view state in the other application?
18,76,764
1937330 Asked
3,689
Active Tutors
1428812
Questions Answered
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!