2010-12-07 2 views
1

난 다음 다형성 코드를 썼다 :C#에서 추상 클래스 부모에 const 인수를 전달하는 방법?

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 
    } 
} 

내가 초기화 할 수 있습니다 내가 어떻게 A의 C'tor에 매개 변수를 전달하는 시도 C 에서 A의 X -하지만 작동하지 않았다가 ..

도와주세요, 미리 감사드립니다 Amitos80

답변

5

정수를 취하여 A의 생성자에 전달하는 B에 생성자를 추가해야합니다. 그런 다음 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... 
    } 
} 

A의 생성자도 private이 아니어야합니다.

+0

+1 클래스 A의 기본 생성자가 없으므로 어쨌든이 옵션이 필요합니다. – StriplingWarrior

+0

또는 A의 x를 public으로 설정 한 다음 C의 생성자에서 설정할 수도 있습니다. –

+0

고맙습니다. Mark, 도움이되었습니다. – amitos80

관련 문제