1 / 1 / 0
Регистрация: 26.07.2012
Сообщений: 133
1
.NET 4.x

Вызов метода базового класса

01.07.2013, 17:48. Показов 1431. Ответов 6
Метки нет (Все метки)

C#
1
2
3
4
5
6
7
8
9
10
11
public class BaseClass
{
    public virtual void Foo()  { Console.WriteLine ("BaseClass.Foo"); }
}
 
public class Overrider : BaseClass
{
    public override void Foo() { Console.WriteLine ("Overrider.Foo"); }
}
 
Overrider over = new Overrider();
можно ли из over получить доступ к родительской версии Foo(), не добавляю при этом в класс Overrider больше никаких методов?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2013, 17:48
Ответы с готовыми решениями:

Полиморфизм: вызов метода базового класса, переопределенного метода и нового метода
В базовом классе метод помечен как virtual. Насколько я понял из книги: override означает, что...

Вызов метода из базового класса
привет! не могу понять, не доходит, как в c# сделать так чтобы из производного класса вызвать...

Вызов метода наследика с базового класса
Здравствуйте. Подскажите, как в базовом классе можно вызвать метод наследника, который не...

Вызов метода базового класса игнорируя переопределенный метод в производном классе
Как вызвать метод базового класса игнорируя переопределенный метод в производном классе. PS...

6
78 / 60 / 9
Регистрация: 26.06.2013
Сообщений: 198
01.07.2013, 17:58 2
base (Справочник по C#)
0
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
02.07.2013, 11:19 3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
 
public class BaseClass
{
    public virtual void Foo() { Console.WriteLine("BaseClass.Foo"); }
}
 
public class Overrider : BaseClass
{
    public override void Foo()
    { base.Foo(); }
}
class Program
{
    static void Main()
    {
        Overrider over = new Overrider();
        over.Foo();
    }
}
0
Эксперт Java
4087 / 3821 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
02.07.2013, 11:49 4
Можно только с помощью рефлексии и шаманства - http://stackoverflow.com/questions/4357729/use-reflection-to-invoke-an-overridden-base-method
0
Master of Orion
Эксперт .NET
6094 / 4950 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.07.2013, 11:56 5
turbanoff, речь идет я так понимаю о чем-то в таком духе:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
public class BaseClass
{
    public virtual void Foo()  { Console.WriteLine ("BaseClass.Foo"); }
}
 
public class Overrider : BaseClass
{
    public override void Foo() 
    { 
       base.Foo();
       Console.WriteLine ("Overrider.Foo"); 
    }
}
где тут нереальное шаманство?
1
Эксперт Java
4087 / 3821 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
02.07.2013, 12:19 6
Psilon, а я понимаю, речь о том, что нельзя менять Overrider
0
Master of Orion
Эксперт .NET
6094 / 4950 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.07.2013, 12:22 7
turbanoff, не добавляя при этом в класс Overrider больше никаких методов и не добавляя при этом в метод Foo никакого кода это разные вещи, мне так кажется. Я никаких методов не добавил, я добавил код в уже существующий метод.

Продуктивнее будет узнать у ТСа что он имел ввиду
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.07.2013, 12:22
Помогаю со студенческими работами здесь

Использование метода из наследованного класса к объекту базового класса
Есть метод public void OpExp() { if (Person._age<18) ...

Переопределение метода базового класса
Есть библиотека, в которой находится базовый класс А, который содержит функцию проверки Check. Есть...

Перекрытие метода базового класса
Уважаемые форумчане, обьясните пожалуйста разницу между class A { public void...

Переопределение метода базового класса в производном
В базовом классе Base метод CreateObjMC создаёт объект производного класса, а в производном классе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru