2016-11-12 20 views
0

クラスメソッドを継承して継承するクラスをいくつか構築していますが、アプリケーションで保護の問題が発生しています。ここでは...保護レベルC#クラスのためアクセスできない

CODEエラーを取得しているクラスのいずれかのソースを少しさ:

public class Circle : object 
{ 

private Point center; // Data member 
private double radius; // Data member 
private string label; // Data member 

public Circle() 
{     
    this.center = new Point(); 
    this.radius = 0.0; 
    this.label = "Unlabeled Circle"; 
} 

public Circle(Point centerValue, double radiusValue)  
{ 
    this.center = new Point(centerValue); 
    this.Radius = radiusValue; 
    this.label = "Unlabeled Circle"; 
} 

public Circle(Point centerValue, double radiusValue, string labelValue) 
{ 
    this.center = new Point(centerValue); 
    this.Radius = radiusValue; 
    this.Label = labelValue; 
} 

public Circle(Circle sourceCircle) // Copy constructor 
{ 
    this.center = new Point(); 
    this.Copy(sourceCircle); 
} 

public Point Center // Define read/write Center property 
{ 
    get 
    { 
    return this.center; 
    } 
    set 
    { 
    this.center = value.Clone(); 
    } 
} 

class Cone : Circle 
{ 
private double height; // Data members 

public Cone() : base() // Default constructor with explicit call 
{       // to base (Circle) default constructor 
    this.Label = "Unlabeled Cone"; 
    this.height = 0.0; 
} 



public Cone(Point centerValue, double radiusValue, double heightValue): 
       base(centerValue, radiusValue) // Initializing constructor with explicit  
{            // call to base (Circle) initializing construtor 
    this.Label = "Unlabeled Cone"; 
    this.Height = heightValue; 
} 

public Cone(Point centerValue, double radiusValue, double heightValue, string labelValue): 
       base(centerValue, radiusValue, labelValue) // Initializing constructor with explicit  
{               // call to base (Circle) initializing construtor 
    this.Height = heightValue; 
} 

public Cone(Cone sourceCone) // Copy constructor 
{ 
    this.Copy(sourceCone); 
} 

public double Height // Define read/write Height property 
{ 
    get 
    { 
    return this.height; 
    } 
    set 
    { 
    if (value >= 0.0) 
     this.height = value; 
    else 
    { 
     Console.WriteLine("Runtime error: {0} can not be assigned to a Height property\n", value); 
     ConsoleApp.Exit(); 
    } 
    } 
} 

ここではそれが由来しているクラスがあります

クラスは音量や領域などを追加するのに時間がかかりますが、私のコンソールアプリケーションでは、保護レベルのためにConeにアクセスできないということが続いています。私はコンソールアプリケーションからアクセスできないようにするために、プライベートなものがどこにあるのかを見極めるために苦労している。あなたがアクセスレベルを提供しない場合

class Cone : Circle 

:あなたは完全なクラスのコードを見たい場合は、ここではペーストビンである... sourcecode

答えて

0

あなたのクラス宣言は、アクセシビリティレベルを持っていません可能な限り最小限のアクセシビリティレベル(ほとんど制限されていない)にデフォルト設定されます。使用:

public class Cone 
0

同じ名前空間にある場合、異なる名前空間または内部にある場合は、coneクラスをpublicとして宣言します。

私はそれらを別々のファイルの同じ名前空間に入れ(両方が図形であるため)、その名前空間を使用するコードにその特定の名前空間をインポートすることをお勧めします。

関連する問題