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.
Why do we require the nested master pages in the Web site?
Explain the use of a CommandBuilder class?
Explain the various Visual Basic features which support LINQ?
Explain the function of break statement in a switch statement with example?
Explain different types of generations in a garbage collector?
Describe disconnected architecture of the ADO.NET's data access model?
Write the difference between unmanaged and managed code?
Distinguish among a Thread and a Process?
Differentiate between SQL invalidation and SQL notification?
Illustrate the terms validation controls?
18,76,764
1949778 Asked
3,689
Active Tutors
1418755
Questions Answered
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!