Ist es sinnvoll, eine Hintergrundeigenschaft/ein Hintergrundfeld als virtuell festzulegen? [geschlossen]C#

Ein Treffpunkt für C#-Programmierer
Guest
 Ist es sinnvoll, eine Hintergrundeigenschaft/ein Hintergrundfeld als virtuell festzulegen? [geschlossen]

Post by Guest »

Ich habe eine vom Entwickler abgeleitete Klasse, die von der Mitarbeiter-Basisklasse erbt.
In meiner abgeleiteten Klasse habe ich eine Override-Eigenschaft das ein Hintergrundfeld verwendet, das von der Basisklasse stammt.

Code: Select all

public class Developer : Employee
{
protected override string Name
{
get
{
if (_name == null)
{
// ....
// ....
// ....
_name = "derived_value";
}
return _name;
}
}
}
Ich habe zwei Möglichkeiten, es zu tun.
Was ist eine gute Option?
Option 1: Setzen Sie ein Hintergrundfeld auf geschützt.

Code: Select all

public class Employee
{
protected string _name = null;

protected virtual string Name
{
get
{
if (_name == null)
{
// ....
// ....
// ....
_name = "base_value_1";
}
return _name;
}
}
}
Option 2: Legen Sie eine unterstützende Eigenschaft als geschütztes virtuelles Objekt fest.

Code: Select all

public class Employee
{
protected virtual string _name { get; set; } = null;

protected virtual string Name
{
get
{
if (_name == null)
{
// ....
// ....
// ....
_name = "base_value_2";
}
return _name;
}
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post