Ich habe eine Basisklasse namens KeyRatioSymbol. Ich habe eine Klasse geerbt von KeyRatioSymbol namens GuruFocusKeyRatioSymbol.Inherited member not found
KeyRatioSymbol hat dieses Update-Methode:
/// <summary>
/// Updates an existing key ratio symbol by setting the values from the new <see cref="KeyRatioSymbol"/>.
/// </summary>
public virtual void Update<T>(T newKeyRatioSymbol) where T : KeyRatioSymbol
{
this.Identifier = newKeyRatioSymbol.Identifier;
}
GuruFocusKeyRatioSymbol definiert Mitglied CurrencyID und will die Update-Methode außer Kraft setzen den neuen CurrencyID aufzunehmen, wenn die Aktualisierung:
private int _CurrencyId;
/// <summary>
/// Gets or sets the CurrencyId
/// </summary>
public int CurrencyId { get { return this._CurrencyId; } set { this.SetProperty(ref this._CurrencyId, value); } }
public override void Update<GuruFocusKeyRatioSymbol>(GuruFocusKeyRatioSymbol newKeyRatioSymbol)
{
base.Update(newKeyRatioSymbol);
this.CurrencyId = x.CurrencyId; // Compiler error
}
Jetzt ist der Compiler beschwert: ‚GuruFocusKeyRatioSymbol 'enthält keine Definition für' CurrencyId '...
Warum findet der Compiler den CurrencyId mem nicht eber in der Klasse GuruFocusKeyRatioSymbol?
Grüße!
@AluanHaddad - sicher ist es; Die Basisklasse definiert das generische Typargument von "T", während die abgeleitete Klasse das Typargument als "GuruFocusKeyRatioSymbol" bereitstellt. –
Von 'this.CurrencyId = x.CurrencyId', wo ist' x' definiert? –
Wäre toll, wenn wir hier ein vollständigeres Beispiel sehen könnten. Soweit wir wissen, haben Sie irgendwo einen Klassennamen falsch notiert und der Typ für "this" oder "x" ist nicht das, was Sie denken. – David