2017-08-31 25 views
0

私はC#について学んでいます。そして学習の本といくつかのオンラインチュートリアルとアクセス修飾子についてのブログ記事があります。アクセス修飾子を使用した後にクラスプロパティにアクセスできませんか?

私は私にいくつかのエラーを示す上記のコードコンパイラを書いた後...以下==>

using System; 
using System.Collections.Generic; 

namespace ConsoleApp1 
{ 
public class Employees 
{ 
    public int Id { get; set; } 
    protected string Name { get; set; } 
    public int Salary { get; set; } 
    public int ServiceYear { get; set; } 

    void CheckEmployeePromotion(List<Employees> employees) 
    { 
     foreach (var employee in employees) 
     { 
      if (employee.ServiceYear >= 5) 
      { 
       Console.WriteLine(employee.Name + " Promoted"); 
      } 
     } 
    } 
} 

public class nayan 
{ 
    Employees hasan = new Employees(); 
    hasan.Id = 1; 
} 

public class anothereclass : Employees 
{ 
    Employees n1 = new Employees(); 
    n1.Id = 2; 
} 


public class Program 
{ 
    public static void Main(string[] args) 
    { 
     Employees jamal = new Employees(); 
     jamal.Id = 23; 
    } 
} 
} 

をいくつかの問題をfaceingていますいくつかのコードを記述しようとしています。 compiler error

私は私のメインクラスとアクセスproperty.likeに従業員のインスタンスを作成することができれば - >

Employees jamal = new Employees(); 
jamal.Id = 23; 

その後、私も(他のクラスで従業員のプロパティにアクセスすることができませんなぜ私の質問withはEmployeesクラスから継承しています)。私の質問はなぜではないソリューション ????

+0

コンパイラが提供しているエラーは何ですか? – Tom

+0

あなたはメソッド/コンストラクタでそれをラップするのを忘れているかもしれませんか? –

答えて

4

メソッド、コンストラクタ、またはプロパティ内のインスタンスのメンバのみを設定できます。だから私はあなたがこれをしたいと仮定します。

class Nayan 
{ 
    Employees n1 = new Employees(); 

    public Nayan() 
    { 
     n1.Id = 2; 
    } 
} 

また、これは名前のクラスにPascalCaseで、-命名規則を考えます。

関連する問題