Skip to content

Commit 69a2eca

Browse files
committed
Respond to feedback.
1 parent cb72b68 commit 69a2eca

3 files changed

Lines changed: 4 additions & 84 deletions

File tree

docs/csharp/fundamentals/types/interfaces.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ The following example declares an interface and a class that implements it:
2020

2121
:::code language="csharp" source="./snippets/interfaces/interfaces.cs" ID="ImplementEquatable":::
2222

23-
Any class or struct that implements <xref:System.IEquatable`1> must provide an `Equals` method that matches the interface signature. You can count on any `IEquatable<T>` implementation to support equality comparison, regardless of the concrete type. That predictability is the core value of interfaces.
23+
Any class or struct that implements <xref:System.IEquatable`1> must provide an `Equals` method that matches the interface signature. You can count on any `IEquatable<T>` implementation to support equality comparison, regardless of the concrete type. That predictability is the core value of interfaces.
2424

2525
## Declare an interface
2626

@@ -48,7 +48,7 @@ Explicit implementation is useful when two interfaces declare members with the s
4848

4949
## Interface inheritance
5050

51-
Interfaces can inherit from one or more other interfaces. A class that implements a derived interface must implement all members from the derived interface and all of its base interfaces:
51+
Interfaces can inherit from one or more other interfaces. A class that implements a derived interface must implement all members from the derived interface and all of its base interfaces:
5252

5353
:::code language="csharp" source="./snippets/interfaces/interfaces.cs" ID="InterfaceInheritance":::
5454

@@ -78,7 +78,7 @@ Interfaces support two advanced features that go beyond basic contracts:
7878
- **Default interface members** let an interface provide a method body. Implementing types inherit the default implementation and can optionally override it. For more information, see [default interface methods](../../advanced-topics/interface-implementation/default-interface-methods-versions.md).
7979
- **Static abstract members** require implementing types to provide a static member, which is useful for defining operator contracts or factory patterns. For more information, see [static abstract members in interfaces](../../language-reference/keywords/interface.md#static-abstract-and-virtual-members).
8080

81-
Both features are covered in the advanced topics section. Most everyday interface usage involves the declaring and implementing patterns described earlier in this article.
81+
Both features are covered in the article on [interfaces](../../language-reference/keywords/interface.md) in the language reference. Most everyday interface usage involves the declaring and implementing patterns described earlier in this article.
8282

8383
## Interfaces summary
8484

docs/standard/base-types/choosing-between-anonymous-and-tuple.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.date: 07/01/2020
66
---
77
# Choosing between anonymous and tuple types
88

9-
Choosing the appropriate type involves considering its usability, performance, and tradeoffs compared to other types. Anonymous types have been available since C# 3.0, while generic <xref:System.Tuple`2?displayProperty=nameWithType> types were introduced with .NET Framework 4.0. Since then new options have been introduced with language level support, such as <xref:System.ValueTuple`2?displayProperty=nameWithType> - which as the name implies, provide a value type with the flexibility of anonymous types. In this article, you'll learn when it's appropriate to choose one type over the other.
9+
Choosing the appropriate type involves considering its usability, performance, and tradeoffs compared to other types. Anonymous types have been available since C# 3.0, while generic <xref:System.Tuple`2?displayProperty=nameWithType> types were introduced with .NET Framework 4.0. Since then, new options have been introduced with language level support, such as <xref:System.ValueTuple`2?displayProperty=nameWithType>. As the names imply, these options provide a value type with the flexibility of anonymous types. In this article, you'll learn when it's appropriate to choose one type over the other.
1010

1111
## Usability and functionality
1212

plan-fix-anonymous-types-links.md

Lines changed: 0 additions & 80 deletions
This file was deleted.

0 commit comments

Comments
 (0)