Как передать константные аргументы родителю абстрактного класса в C #? - PullRequest
1 голос
/ 07 декабря 2010

я написал следующий полиморфный код:

public abstract class  A  
{  
    readonly int x;  
    A(int i_MyInt)  
    {  
        x = i_MyInt;  
    }  
}  

public abstract class B : A  
{  
    //holds few integers and some methods      
}  


// concrete  object class  
public class C : B   
{  
   // holds some variables and mathods  
    C(int MyInt)  
    {   
      // here i would like to initialize A's x  
    }  
}  

как я могу инициализировать x из C, я попытался передать параметры в C'tor A - но не сработало ..

Пожалуйста, помогите, заранее спасибо Amitos80 * ​​1006 *

1 Ответ

5 голосов
/ 07 декабря 2010

Вам нужно добавить конструктор в B, который принимает целое число и передает его конструктору A. Затем вы можете вызвать этот конструктор из C.

public abstract class B : A
{  
    public B(int myInt) : base(myInt)
    {
        // other initialization here...
    }  
}  

public class C : B
{
    // holds some variables and mathods  
    public C(int myInt) : base(myInt)
    {
        // other initialization here...
    }
}  

Конструктор А также не должен быть закрытым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...