Skip to content

Commit 775e451

Browse files
authored
replaced msdn links + renamed topic (dotnet#2856)
* replaced msdn links + renamed topic * more fixes
1 parent f947d9e commit 775e451

File tree

15 files changed

+25
-67
lines changed

15 files changed

+25
-67
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -834,6 +834,11 @@
834834
{
835835
"source_path": "docs/tutorials/index.md",
836836
"redirect_url": "/dotnet/samples-and-tutorials/"
837+
},
838+
{
839+
"source_path": "docs/visual-basic/programming-guide/concepts/covariance-contravariance/covariance-and-contravariance.md",
840+
"redirect_url": "/dotnet/visual-basic/programming-guide/concepts/covariance-contravariance/index",
841+
"redirect_document_id": true
837842
},
838843
{
839844
"source_path": "docs/visual-basic/developing-apps/debugging.md",

docs/csharp/language-reference/keywords/in-generic-modifier.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ For generic type parameters, the `in` keyword specifies that the type parameter
4040

4141
A contravariant delegate can be assigned another delegate of the same type, but with a less derived generic type parameter.
4242

43-
For more information, see [Covariance and Contravariance](http://msdn.microsoft.com/library/a58cc086-276f-4f91-a366-85b7f95f38b8).
43+
For more information, see [Covariance and Contravariance](../../programming-guide/concepts/covariance-contravariance/index.md).
4444

4545
## Example
4646
The following example shows how to declare, extend, and implement a contravariant generic interface. It also shows how you can use implicit conversion for classes that implement this interface.
@@ -57,5 +57,5 @@ For generic type parameters, the `in` keyword specifies that the type parameter
5757

5858
## See Also
5959
[out](../../../csharp/language-reference/keywords/out-generic-modifier.md)
60-
[Covariance and Contravariance](http://msdn.microsoft.com/library/a58cc086-276f-4f91-a366-85b7f95f38b8)
60+
[Covariance and Contravariance](../../programming-guide/concepts/covariance-contravariance/index.md)
6161
[Modifiers](../../../csharp/language-reference/keywords/modifiers.md)

docs/csharp/language-reference/keywords/out-generic-modifier.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,6 @@ For generic type parameters, the `out` keyword specifies that the type parameter
6565
[!INCLUDE[CSharplangspec](~/includes/csharplangspec-md.md)]
6666

6767
## See Also
68-
[Variance in Generic Interfaces](http://msdn.microsoft.com/library/e14322da-1db3-42f2-9a67-397daddd6b6a)
68+
[Variance in Generic Interfaces](../../programming-guide/concepts/covariance-contravariance/variance-in-generic-interfaces.md)
6969
[in](../../../csharp/language-reference/keywords/in-generic-modifier.md)
7070
[Modifiers](../../../csharp/language-reference/keywords/modifiers.md)

docs/standard/generics/covariance-and-contravariance.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,5 +188,6 @@ manager: "wpickett"
188188
|<xref:System.Linq.IQueryable%601>|Yes||
189189

190190
## See Also
191-
[Covariance and Contravariance](http://msdn.microsoft.com/library/a58cc086-276f-4f91-a366-85b7f95f38b8)
191+
[Covariance and Contravariance (C#)](../../csharp/programming-guide/concepts/covariance-contravariance/index.md)
192+
[Covariance and Contravariance (Visual Basic)](../../visual-basic/programming-guide/concepts/covariance-contravariance/index.md)
192193
[Variance in Delegates](http://msdn.microsoft.com/library/e3b98197-6c5b-4e55-9c6e-9739b60645ca)

docs/visual-basic/language-reference/modifiers/in-generic-modifier.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
---
22
title: "In (Generic Modifier) (Visual Basic)"
3-
43
ms.date: "2015-07-20"
54
ms.prod: .net
6-
7-
ms.suite: ""
85
ms.technology:
96
- "devlang-visual-basic"
10-
117
ms.topic: "article"
128
f1_keywords:
139
- "vb.VarianceIn"
@@ -20,7 +16,6 @@ ms.assetid: 59bb13c5-fe96-42b8-8286-86293d1661c5
2016
caps.latest.revision: 19
2117
author: dotnet-bot
2218
ms.author: dotnetcontent
23-
2419
translation.priority.ht:
2520
- "cs-cz"
2621
- "de-de"
@@ -42,7 +37,7 @@ For generic type parameters, the `In` keyword specifies that the type parameter
4237
## Remarks
4338
Contravariance enables you to use a less derived type than that specified by the generic parameter. This allows for implicit conversion of classes that implement variant interfaces and implicit conversion of delegate types.
4439

45-
For more information, see [Covariance and Contravariance](http://msdn.microsoft.com/library/a58cc086-276f-4f91-a366-85b7f95f38b8).
40+
For more information, see [Covariance and Contravariance](../../programming-guide/concepts/covariance-contravariance/index.md).
4641

4742
## Rules
4843
You can use the `In` keyword in generic interfaces and delegates.
@@ -69,5 +64,5 @@ For generic type parameters, the `In` keyword specifies that the type parameter
6964
[!code-vb[vbVarianceKeywords#2](../../../visual-basic/language-reference/modifiers/codesnippet/VisualBasic/in-generic-modifier_2.vb)]
7065

7166
## See Also
72-
[Variance in Generic Interfaces](http://msdn.microsoft.com/library/e14322da-1db3-42f2-9a67-397daddd6b6a)
67+
[Variance in Generic Interfaces](../../programming-guide/concepts/covariance-contravariance/variance-in-generic-interfaces.md)
7368
[Out](../../../visual-basic/language-reference/modifiers/out-generic-modifier.md)

docs/visual-basic/language-reference/modifiers/out-generic-modifier.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
---
22
title: "Out (Generic Modifier) (Visual Basic)"
3-
43
ms.date: "2015-07-20"
54
ms.prod: .net
6-
7-
ms.suite: ""
85
ms.technology:
96
- "devlang-visual-basic"
10-
117
ms.topic: "article"
128
f1_keywords:
139
- "vb.VarianceOut"
@@ -20,7 +16,6 @@ ms.assetid: c4418369-1518-4a46-9a1e-054c61038eca
2016
caps.latest.revision: 14
2117
author: dotnet-bot
2218
ms.author: dotnetcontent
23-
2419
translation.priority.ht:
2520
- "cs-cz"
2621
- "de-de"
@@ -42,7 +37,7 @@ For generic type parameters, the `Out` keyword specifies that the type is covari
4237
## Remarks
4338
Covariance enables you to use a more derived type than that specified by the generic parameter. This allows for implicit conversion of classes that implement variant interfaces and implicit conversion of delegate types.
4439

45-
For more information, see [Covariance and Contravariance](http://msdn.microsoft.com/library/a58cc086-276f-4f91-a366-85b7f95f38b8).
40+
For more information, see [Covariance and Contravariance](../../programming-guide/concepts/covariance-contravariance/index.md).
4641

4742
## Rules
4843
You can use the `Out` keyword in generic interfaces and delegates.
@@ -78,5 +73,5 @@ For generic type parameters, the `Out` keyword specifies that the type is covari
7873
[!code-vb[vbVarianceKeywords#4](../../../visual-basic/language-reference/modifiers/codesnippet/VisualBasic/out-generic-modifier_2.vb)]
7974

8075
## See Also
81-
[Variance in Generic Interfaces](http://msdn.microsoft.com/library/e14322da-1db3-42f2-9a67-397daddd6b6a)
76+
[Variance in Generic Interfaces](../../programming-guide/concepts/covariance-contravariance/variance-in-generic-interfaces.md)
8277
[In](../../../visual-basic/language-reference/modifiers/in-generic-modifier.md)

docs/visual-basic/language-reference/statements/delegate-statement.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
---
22
title: "Delegate Statement"
3-
43
ms.date: "2015-07-20"
54
ms.prod: .net
6-
ms.reviewer: ""
7-
ms.suite: ""
85
ms.technology:
96
- "devlang-visual-basic"
10-
117
ms.topic: "article"
128
f1_keywords:
139
- "vb.Delegate"
@@ -20,7 +16,6 @@ ms.assetid: f799c518-0817-40cc-ad0b-4da846fdba57
2016
caps.latest.revision: 27
2117
author: dotnet-bot
2218
ms.author: dotnetcontent
23-
2419
translation.priority.ht:
2520
- "cs-cz"
2621
- "de-de"
@@ -92,6 +87,6 @@ Used to declare a delegate. A delegate is a reference type that refers to a `Sha
9287
[Delegates](../../../visual-basic/programming-guide/language-features/delegates/index.md)
9388
[How to: Use a Generic Class](../../../visual-basic/programming-guide/language-features/data-types/how-to-use-a-generic-class.md)
9489
[Generic Types in Visual Basic](../../../visual-basic/programming-guide/language-features/data-types/generic-types.md)
95-
[Covariance and Contravariance](http://msdn.microsoft.com/library/a58cc086-276f-4f91-a366-85b7f95f38b8)
90+
[Covariance and Contravariance](../../programming-guide/concepts/covariance-contravariance/index.md)
9691
[In](../../../visual-basic/language-reference/modifiers/in-generic-modifier.md)
9792
[Out](../../../visual-basic/language-reference/modifiers/out-generic-modifier.md)

docs/visual-basic/language-reference/statements/interface-statement.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
---
22
title: "Interface Statement (Visual Basic)"
3-
43
ms.date: "2015-07-20"
54
ms.prod: .net
6-
ms.reviewer: ""
7-
ms.suite: ""
85
ms.technology:
96
- "devlang-visual-basic"
10-
117
ms.topic: "article"
128
f1_keywords:
139
- "vb.Interface"
@@ -20,7 +16,6 @@ ms.assetid: 8997af73-bda3-4f79-bd41-ca396b610260
2016
caps.latest.revision: 26
2117
author: dotnet-bot
2218
ms.author: dotnetcontent
23-
2419
translation.priority.ht:
2520
- "cs-cz"
2621
- "de-de"
@@ -143,6 +138,6 @@ End Interface
143138
[Function Statement](../../../visual-basic/language-reference/statements/function-statement.md)
144139
[Sub Statement](../../../visual-basic/language-reference/statements/sub-statement.md)
145140
[Generic Types in Visual Basic](../../../visual-basic/programming-guide/language-features/data-types/generic-types.md)
146-
[Variance in Generic Interfaces](http://msdn.microsoft.com/library/e14322da-1db3-42f2-9a67-397daddd6b6a)
141+
[Variance in Generic Interfaces](../../programming-guide/concepts/covariance-contravariance/variance-in-generic-interfaces.md)
147142
[In](../../../visual-basic/language-reference/modifiers/in-generic-modifier.md)
148143
[Out](../../../visual-basic/language-reference/modifiers/out-generic-modifier.md)

docs/visual-basic/language-reference/statements/type-list.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
---
22
title: "Type List (Visual Basic)"
3-
43
ms.date: "2015-07-20"
54
ms.prod: .net
6-
ms.reviewer: ""
7-
ms.suite: ""
85
ms.technology:
96
- "devlang-visual-basic"
10-
117
ms.topic: "article"
128
f1_keywords:
139
- "StructureConstraint"
@@ -37,7 +33,6 @@ ms.assetid: 56db947a-2ae8-40f2-a70a-960764e9d0db
3733
caps.latest.revision: 33
3834
author: dotnet-bot
3935
ms.author: dotnetcontent
40-
4136
translation.priority.ht:
4237
- "cs-cz"
4338
- "de-de"
@@ -66,7 +61,7 @@ Specifies the *type parameters* for a *generic* programming element. Multiple pa
6661

6762
|Term|Definition|
6863
|---|---|
69-
|`genericmodifier`|Optional. Can be used only in generic interfaces and delegates. You can declare a type covariant by using the [Out](../../../visual-basic/language-reference/modifiers/out-generic-modifier.md) keyword or contravariant by using the [In](../../../visual-basic/language-reference/modifiers/in-generic-modifier.md) keyword. See [Covariance and Contravariance](http://msdn.microsoft.com/library/a58cc086-276f-4f91-a366-85b7f95f38b8).|
64+
|`genericmodifier`|Optional. Can be used only in generic interfaces and delegates. You can declare a type covariant by using the [Out](../../../visual-basic/language-reference/modifiers/out-generic-modifier.md) keyword or contravariant by using the [In](../../../visual-basic/language-reference/modifiers/in-generic-modifier.md) keyword. See [Covariance and Contravariance](../../programming-guide/concepts/covariance-contravariance/index.md).|
7065
|`typename`|Required. Name of the type parameter. This is a placeholder, to be replaced by a defined type supplied by the corresponding type argument.|
7166
|`constraintlist`|Optional. List of requirements that constrain the data type that can be supplied for `typename`. If you have multiple constraints, enclose them in curly braces (`{ }`) and separate them with commas. You must introduce the constraint list with the [As](../../../visual-basic/language-reference/statements/as-clause.md) keyword. You use `As` only once, at the beginning of the list.|
7267

@@ -123,6 +118,6 @@ Specifies the *type parameters* for a *generic* programming element. Multiple pa
123118
[Structure Statement](../../../visual-basic/language-reference/statements/structure-statement.md)
124119
[Sub Statement](../../../visual-basic/language-reference/statements/sub-statement.md)
125120
[How to: Use a Generic Class](../../../visual-basic/programming-guide/language-features/data-types/how-to-use-a-generic-class.md)
126-
[Covariance and Contravariance](http://msdn.microsoft.com/library/a58cc086-276f-4f91-a366-85b7f95f38b8)
121+
[Covariance and Contravariance](../../programming-guide/concepts/covariance-contravariance/index.md)
127122
[In](../../../visual-basic/language-reference/modifiers/in-generic-modifier.md)
128123
[Out](../../../visual-basic/language-reference/modifiers/out-generic-modifier.md)
Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
---
22
title: "Covariance and Contravariance (Visual Basic)"
3-
ms.custom: ""
43
ms.date: "2015-07-20"
54
ms.prod: .net
6-
ms.reviewer: ""
7-
ms.suite: ""
85
ms.technology:
96
- "devlang-visual-basic"
107
ms.tgt_pltfrm: ""
@@ -15,7 +12,6 @@ ms.assetid: 59224c46-9931-466b-8c6e-3648c3e609c6
1512
caps.latest.revision: 3
1613
author: dotnet-bot
1714
ms.author: dotnetcontent
18-
1915
translation.priority.mt:
2016
- "cs-cz"
2117
- "pl-pl"

docs/visual-basic/programming-guide/concepts/covariance-contravariance/toc.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# [Covariance and Contravariance](covariance-and-contravariance.md)
1+
# [Covariance and Contravariance](index.md)
22
## [Variance in Generic Interfaces](variance-in-generic-interfaces.md)
33
### [Creating Variant Generic Interfaces](creating-variant-generic-interfaces.md)
44
### [Using Variance in Interfaces for Generic Collections](using-variance-in-interfaces-for-generic-collections.md)

docs/visual-basic/programming-guide/concepts/covariance-contravariance/using-variance-for-func-and-action-generic-delegates.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
---
22
title: "Using Variance for Func and Action Generic Delegates (Visual Basic)"
3-
ms.custom: ""
43
ms.date: "2015-07-20"
54
ms.prod: .net
6-
ms.reviewer: ""
7-
ms.suite: ""
85
ms.technology:
96
- "devlang-visual-basic"
107
ms.tgt_pltfrm: ""
@@ -15,7 +12,6 @@ ms.assetid: 36c3012f-b39c-493b-b90f-079b5912ac1b
1512
caps.latest.revision: 3
1613
author: dotnet-bot
1714
ms.author: dotnetcontent
18-
1915
translation.priority.mt:
2016
- "cs-cz"
2117
- "pl-pl"
@@ -103,5 +99,5 @@ End Class
10399
```
104100

105101
## See Also
106-
[Covariance and Contravariance (Visual Basic)](../../../../visual-basic/programming-guide/concepts/covariance-contravariance/covariance-and-contravariance.md)
102+
[Covariance and Contravariance (Visual Basic)](../../../../visual-basic/programming-guide/concepts/covariance-contravariance/index.md)
107103
[Generics](~/docs/standard/generics/index.md)

docs/visual-basic/programming-guide/concepts/index.md

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
---
22
title: "Programming Concepts (Visual Basic)"
3-
ms.custom: ""
43
ms.date: "2015-07-20"
54
ms.prod: .net
6-
ms.reviewer: ""
7-
ms.suite: ""
85
ms.technology:
96
- "devlang-visual-basic"
10-
117
ms.topic: "article"
128
dev_langs:
139
- "VB"
1410
ms.assetid: cc9cac84-61f6-476e-b8c7-9bae7749bd90
1511
caps.latest.revision: 4
1612
author: dotnet-bot
1713
ms.author: dotnetcontent
18-
1914
translation.priority.mt:
2015
- "cs-cz"
2116
- "pl-pl"
@@ -34,17 +29,17 @@ This section explains programming concepts in the Visual Basic language.
3429
|[Attributes overview (Visual Basic)](../../../visual-basic/programming-guide/concepts/attributes/index.md)|Discusses how to provide additional information about programming elements such as types, fields, methods, and properties by using attributes.|
3530
|[Caller Information (Visual Basic)](../../../visual-basic/programming-guide/concepts/caller-information.md)|Describes how to obtain information about the caller of a method. This information includes the file path and the line number of the source code and the member name of the caller.|
3631
|[Collections (Visual Basic)](../../../visual-basic/programming-guide/concepts/collections.md)|Describes some of the types of collections provided by the .NET Framework. Demonstrates how to use simple collections and collections of key/value pairs.|
37-
|[Covariance and Contravariance (Visual Basic)](../../../visual-basic/programming-guide/concepts/covariance-contravariance/covariance-and-contravariance.md)|Shows how to enable implicit conversion of generic type parameters in interfaces and delegates.|
32+
|[Covariance and Contravariance (Visual Basic)](../../../visual-basic/programming-guide/concepts/covariance-contravariance/index.md)|Shows how to enable implicit conversion of generic type parameters in interfaces and delegates.|
3833
|[Expression Trees (Visual Basic)](../../../visual-basic/programming-guide/concepts/expression-trees/index.md)|Explains how you can use expression trees to enable dynamic modification of executable code.|
3934
|[Iterators (Visual Basic)](../../../visual-basic/programming-guide/concepts/iterators.md)|Describes iterators, which are used to step through collections and return elements one at a time.|
4035
|[Language-Integrated Query (LINQ) (Visual Basic)](../../../visual-basic/programming-guide/concepts/linq/index.md)|Discusses the powerful query capabilities in the language syntax of Visual Basic, and themodel for querying relational databases, XML documents, datasets, and in-memory collections.|
4136
|[Object-Oriented Programming (Visual Basic)](../../../visual-basic/programming-guide/concepts/object-oriented-programming.md)|Describes common object-oriented concepts, including encapsulation, inheritance, and polymorphism.|
42-
|[Reflection (Visual Basic)](../../../visual-basic/programming-guide/concepts/reflection.md)|Explains how to use reflection to dynamically create an instance of a type, bind the type to an existing object, or get the type from an existing object and invoke its methods or access its fields and properties.|
37+
|[Reflection (Visual Basic)](../../../visual-basic/programming-guide/concepts/reflection.md)|Explains how to use reflection to dynamically create an instance of a type, bind the type to an existing object, or get the type from an existing object and invoke its methods or access its fields and properties.|
4338
|[Serialization (Visual Basic)](../../../visual-basic/programming-guide/concepts/serialization/index.md)|Describes key concepts in binary, XML, and SOAP serialization.|
4439
|[Threading (Visual Basic)](../../../visual-basic/programming-guide/concepts/threading/index.md)|Provides an overview of the .NET threading model and shows how to write code that performs multiple tasks at the same time to improve the performance and responsiveness of your applications.|
4540

4641
## Related Sections
4742

4843
|||
4944
|---|---|
50-
|[Performance Tips](https://msdn.microsoft.com/library/ms173196(VS.110).aspx) | Discusses several basic rules that may help you increase the performance of your application.|
45+
|[Performance Tips](../../../framework/performance/performance-tips.md) | Discusses several basic rules that may help you increase the performance of your application.|

docs/visual-basic/programming-guide/language-features/data-types/generic-types.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
---
22
title: "Generic Types in Visual Basic (Visual Basic)"
3-
ms.custom: ""
43
ms.date: "2015-07-20"
54
ms.prod: .net
6-
ms.reviewer: ""
7-
ms.suite: ""
85
ms.technology:
96
- "devlang-visual-basic"
10-
117
ms.topic: "article"
128
dev_langs:
139
- "VB"
@@ -49,7 +45,6 @@ ms.assetid: 89f771d9-ecbb-4737-88b8-116b63c6cf4d
4945
caps.latest.revision: 45
5046
author: dotnet-bot
5147
ms.author: dotnetcontent
52-
5348
translation.priority.ht:
5449
- "de-de"
5550
- "es-es"
@@ -180,5 +175,5 @@ Screwdriver set as a generic tool
180175
[Of](../../../../visual-basic/language-reference/statements/of-clause.md)
181176
[As](../../../../visual-basic/language-reference/statements/as-clause.md)
182177
[Object Data Type](../../../../visual-basic/language-reference/data-types/object-data-type.md)
183-
[Covariance and Contravariance](http://msdn.microsoft.com/library/a58cc086-276f-4f91-a366-85b7f95f38b8)
178+
[Covariance and Contravariance](../../programming-guide/concepts/covariance-contravariance/index.md)
184179
[Iterators](http://msdn.microsoft.com/library/f45331db-d595-46ec-9142-551d3d1eb1a7)

docs/visual-basic/programming-guide/language-features/interfaces/index.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
---
22
title: "Interfaces (Visual Basic)"
3-
ms.custom: ""
43
ms.date: "2015-07-20"
54
ms.prod: .net
6-
ms.reviewer: ""
7-
ms.suite: ""
85
ms.technology:
96
- "devlang-visual-basic"
10-
117
ms.topic: "article"
128
dev_langs:
139
- "VB"
@@ -20,7 +16,6 @@ ms.assetid: 61b06674-12c9-430b-be68-cc67ecee1f5b
2016
caps.latest.revision: 11
2117
author: dotnet-bot
2218
ms.author: dotnetcontent
23-
2419
translation.priority.ht:
2520
- "cs-cz"
2621
- "de-de"
@@ -106,4 +101,4 @@ translation.priority.ht:
106101
|Title|Description|
107102
|-----------|-----------------|
108103
|[Walkthrough: Creating and Implementing Interfaces](../../../../visual-basic/programming-guide/language-features/interfaces/walkthrough-creating-and-implementing-interfaces.md)|Provides a detailed procedure that takes you through the process of defining and implementing your own interface.|
109-
|[Variance in Generic Interfaces](http://msdn.microsoft.com/library/e14322da-1db3-42f2-9a67-397daddd6b6a)|Discusses covariance and contravariance in generic interfaces and provides a list of variant generic interfaces in the .NET Framework.|
104+
|[Variance in Generic Interfaces](../../concepts/covariance-contravariance/variance-in-generic-interfaces.md)|Discusses covariance and contravariance in generic interfaces and provides a list of variant generic interfaces in the .NET Framework.|

0 commit comments

Comments
 (0)