Наследование

 
0
 
.NET
ava
strS | 11.04.2013, 08:01
Добрый день!



public class A
{
public string name {get;set;}
}

public class B : A
{
public string sometext {get;set;}
}



Возможно ли передать значение поля name от A к B, не делая это явно (B.name = A.name)


B = (B)A;


компилятр ругается что нельзя.
Comments (6)
ava
SKrivosein | 11.04.2013, 15:05 #

public string name { get; set; }

Это не поле, а автоматическое свойство.
В=В(А)
Это что? Это ты пытаешся привести класс А к классу В? Как это относится к вопросу?
Напиши пожалуйста яснее.
ava
Арантир | 11.04.2013, 15:16 #
Цитата (strS @  11.4.2013,  06:01 findReferencedText)
Возможно ли передать значение поля name от A к B,

B.name - не? Поля наследуются автоматически.
ava
SKrivosein | 11.04.2013, 15:33 #
Arantir да нет же явного поля, есть автоматическое свойство которое генерирует приватное поле которое с кода С# вообще вызвать нельзя. Поэтому и непонятно что творится.
А что внизу написано, так это догадайтесь сами...
ava
Экскалупатор | 11.04.2013, 22:42 (Edited 11.04.2013 23:45) #
Цитата

  Arantir да нет же явного поля, есть автоматическое свойство которое генерирует приватное поле которое с кода С# вообще вызвать нельзя. Поэтому и непонятно что творится.
  

какая разница пользователю класса?
Цитата

  B.name - не? Поля наследуются автоматически.
  

точно
ava
Экскалупатор | 11.04.2013, 22:47 #
Цитата (SKrivosein @  11.4.2013,  14:33 findReferencedText)
Arantir да нет же явного поля, есть автоматическое свойство которое генерирует приватное поле которое с кода С# вообще вызвать нельзя. Поэтому и непонятно что творится.

какая разница для пользователя класса?
главное что они наследуются и все будет работать.
ava
SKrivosein | 12.04.2013, 02:11 #
В принципе да, но вопрос задан так что непонятно что хотели...

class Program
    {
        static void Main(string[] args)
        {
            ClassB classB = new ClassB();
            classB.NameA = "что угодно";
            classB.SomeMethod();

            Console.WriteLine(classB.NameB);
            Console.ReadLine();
        }
    }

    public class ClassA
    {
        public string NameA { get; set; }
    }

    public class ClassB : ClassA
    {
        public string NameB { get; set; }

        public void SomeMethod()
        {
            this.NameB = this.NameA;
        }
    }
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
advanced
Submit