From 80f5830b6c99592f673864fa80836e412ac99617 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 30 Jun 2025 19:45:20 +0000 Subject: [PATCH 1/2] Initial plan From 21879985d3d094ad342a5f71f996cfee54549772 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 30 Jun 2025 19:50:03 +0000 Subject: [PATCH 2/2] Fix incorrect information about protected access modifier Co-authored-by: BillWagner <493969+BillWagner@users.noreply.github.com> --- docs/csharp/language-reference/keywords/protected.md | 2 +- .../csrefKeywordsModifiers/CS/csrefKeywordsModifiers.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/csharp/language-reference/keywords/protected.md b/docs/csharp/language-reference/keywords/protected.md index 5d03de0f8df41..b81bbf41809d1 100644 --- a/docs/csharp/language-reference/keywords/protected.md +++ b/docs/csharp/language-reference/keywords/protected.md @@ -26,7 +26,7 @@ A protected member of a base class is accessible in a derived class only if the [!code-csharp[csrefKeywordsModifiers#11](~/samples/snippets/csharp/VS_Snippets_VBCSharp/csrefKeywordsModifiers/CS/csrefKeywordsModifiers.cs#11)] -The statement `a.x = 10` generates an error because it is made within the static method Main, and not an instance of class B. +The statement `a.x = 10` generates an error because it accesses the protected member through a base class reference (`a` is of type `A`). Protected members can only be accessed through the derived class type or types derived from it. Struct members cannot be protected because the struct cannot be inherited. diff --git a/samples/snippets/csharp/VS_Snippets_VBCSharp/csrefKeywordsModifiers/CS/csrefKeywordsModifiers.cs b/samples/snippets/csharp/VS_Snippets_VBCSharp/csrefKeywordsModifiers/CS/csrefKeywordsModifiers.cs index 73ac9eac4848d..7c058a3e6ab73 100644 --- a/samples/snippets/csharp/VS_Snippets_VBCSharp/csrefKeywordsModifiers/CS/csrefKeywordsModifiers.cs +++ b/samples/snippets/csharp/VS_Snippets_VBCSharp/csrefKeywordsModifiers/CS/csrefKeywordsModifiers.cs @@ -345,8 +345,8 @@ static void Main() var a = new A(); var b = new B(); - // Error CS1540, because x can only be accessed by - // classes derived from A. + // Error CS1540, because x can only be accessed through + // the derived class type, not through the base class type. // a.x = 10; // OK, because this class derives from A.