Наследуйте общий класс и используйте конкретные параметры с ключевым словом ref.C#

Место общения программистов C#
Ответить
Anonymous
 Наследуйте общий класс и используйте конкретные параметры с ключевым словом ref.

Сообщение Anonymous »

Я получаю ошибку CS1503 для следующего кода:

Код: Выделить всё

public class ClassUserBase
where T1 : struct
where T2 : struct
{
public virtual int method1(ref ClassParmBase parm)
{
return 1;
}
}

public class ClassUser1 : ClassUserBase
{
public override int method1(ref ClassParm1 parm)
{
int nRet = base.method1(ref parm); //  //edited: typo here, this seems work!,
{ }

public enum EnumType1 { }

public enum EnumType2 { }

(отредактировано для компиляции)
Разрешено ли такое использование? Есть ли какой-нибудь способ сделать ClassParm1 пригодным для использования в базовом классе?
На самом деле я намеревался переопределить метод1, но это было невозможно. Полагаю, это запрещено по той же причине.
Сообщение об ошибке: (переведено)

параметр 1: из «ClassParm1» в «ClassParmBase» невозможно преобразовать.


Подробнее здесь: https://stackoverflow.com/questions/797 ... ef-keyword
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»