У меня есть базовый класс 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 eber в классе GuruFocusKeyRatioSymbol?
С уважением!
@AluanHaddad - это точно; базовый класс определяет общий тип аргумента 'T', тогда как производный класс предоставляет аргумент типа как' GuruFocusKeyRatioSymbol'. –
Из 'this.CurrencyId = x.CurrencyId', где определяется' x'? –
Было бы здорово, если бы мы могли увидеть более полный пример здесь. Насколько нам известно, вы сделали опечатку на имя класса где-то, а тип для 'this' или' x' - это не то, что вы думаете. – David