ho una classe di base come questo:L'estrazione di una proprietà può essere astratta e l'insieme essere virtuale?
public class Trajectory{
public int Count { get; set; }
public double Initial { get; set { Count = 1; } }
public double Current { get; set { Count ++ ; } }
}
Così, ho il codice nella classe base, il che rende il set-s virtuale, ma il get-s deve rimanere astratto. Quindi ho bisogno di qualcosa del genere:
...
public double Initial { abstract get; virtual set { Count = 1; } }
...
Ma questo codice dà un errore. L'intero punto è implementare la funzionalità di conteggio nella classe base in tutte le classi derivate. Quindi, come posso ottenere l'ottenimento e l'impostazione di una proprietà con diversi modificatori?
Forse dovresti scrivere metodi SetInitial GetInitial separati ... – Marko
Ho difficoltà a capire l'intenzione dietro il tuo codice. È estremamente insolito avere un setter per una proprietà che ignora il valore di input impostato. Se modifichi questo metodo per usare i metodi (senza alcun valore di input inutilizzato per confondere le cose), non c'è più bisogno di un get/virtual set astratto. –
Il punto di un setter è che "imposta" (in qualche modo) il valore immesso. Il modo in cui implementi il tuo set, è più un metodo. – Henri