diff --git a/docs/csharp/programming-guide/generics/generic-interfaces.md b/docs/csharp/programming-guide/generics/generic-interfaces.md index 107d1f431d582..abc6b79dab2c4 100644 --- a/docs/csharp/programming-guide/generics/generic-interfaces.md +++ b/docs/csharp/programming-guide/generics/generic-interfaces.md @@ -26,7 +26,7 @@ The rules of inheritance that apply to classes also apply to interfaces: :::code language="csharp" source="./snippets/GenericInterfaces.cs" id="Months"::: -Generic interfaces can inherit from non-generic interfaces if the generic interface is covariant, which means it only uses its type parameter as a return value. In the .NET class library, inherits from because only uses `T` in the return value of and in the property getter. +Generic interfaces can inherit from non-generic interfaces. In the .NET class library, inherits from . When a generic interface inherits from a non-generic interface, the type parameter typically replaces `object` in the overridden members. For example, uses `T` in place of `object` in the return value of and in the property getter. Because `T` is used only in output positions in these members, can be marked as covariant. If `T` were used in an input position in an overridden member, the interface couldn't be covariant, and the compiler would generate an error. Concrete classes can implement closed constructed interfaces, as follows: