Защищенные "методы в C#?"

Часто «защищенный» используется, когда access-modifiers вы хотите, чтобы дочерний c#.net класс переопределил в противном visual-studio-community случае «частный» метод.

public class Base {
    public void Api() {
       InternalUtilityMethod();
    }
    protected virtual void InternalUtilityMethod() {
       Console.WriteLine("do Base work");
    }
}

public class Derived : Base {
    protected override void InternalUtilityMethod() {
       Console.WriteLine("do Derived work");
    } 
}

Таким object-oriented-design образом, у нас есть поведение object-oriented-design переопределения, которое visual-studio мы знаем и любим благодаря c#.net наследованию, без ненужного c# раскрытия InternalUtilityMethod csharp кому-либо за пределами наших dotnet классов.

var b = new Base();
b.Api();  // returns "do Base work"
var d = new Derived();
d.Api(); // returns "do Derived work"

c#

.net

visual-studio

oop

access-modifiers

2022-08-24T11:29:47+00:00
Вопросы с похожей тематикой, как у вопроса:

Защищенные "методы в C#?"