Diciamo che sto usando una libreria e vorrei aggiungere una proprietà che non esiste in una classe esistente. In questo caso, vorrei aggiungere Colore come proprietà di Fruit.
namespace Library
{
public class Fruit : System.IDisposable
{
public string Name { get; set; }
public void Dispose() { }
}
}
C'è un modo per farlo in C #?
Esempio che non funzionerà
Il mio primo pensiero era di classi parziali, ma ciò richiederebbe che entrambe le classi avessero la parola parziale in esse. Quindi non è fattibile.
namespace Library
{
public partial class Fruit
{
public Color Color { get; set; }
}
}
Sembra orribile
Potrei ereditare Fruit e creare una classe MyFruit. Questo mi sembra schifoso. Preferisco chiamare Person.Fruits.FirstOrDefault (). Color piuttosto che dover creare un oggetto MyPerson che eredita da Person e quindi chiamare MyPerson.MyFruits.FirstOrDefault (). Color.
namespace Library
{
public class MyFruit : Fruit
{
public Color Color { get; set; }
}
}
namespace Library
{
public class MyPerson : Person
{
public MyFruit MyFruit { get; set; }
}
}