私はKeyRatioSymbolという基本クラスを持っています。 KeyRatioSymbolからGuruFocusKeyRatioSymbolという名前のクラスを継承しています。継承されたメンバーが見つかりません
KeyRatioSymbolこの更新方法があります。
/// <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はメンバーCurrencyIdを定義し、更新時に新しいCurrencyIdを含めるように更新メソッドをオーバーライドしたい:
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
}
今、コンパイラは文句:「GuruFocusKeyRatioSymbol 'に' CurrencyId 'の定義が含まれていません...
なぜコンパイラはCurrencyId memを見つけられませんGuruFocusKeyRatioSymbolクラスのeber?
よろしくお願いいたします。
@AluanHaddad - 確かです。基底クラスはジェネリック型引数 'T'を定義し、派生クラスは型引数を' GuruFocusKeyRatioSymbol'として提供します。 –
'this.CurrencyId = x.CurrencyId'から' x'はどこに定義されていますか? –
ここでもっと完全な例を見ることができれば素晴らしいだろう。どこかでクラス名にタイプミスがあり、 'this'や' x'のタイプがあなたの考えではないことがわかっているからです。 – David