2017-08-31 1 views
0

Ich lerne nur über C#. und haben lernen Buch und einige Online-Tutorial und einige Blog-Post über Zugriffsmodifikator.Zugriff auf Klasseneigenschaft nicht möglich, nachdem Zugriffsmodifizierer verwendet wurde?

, wenn ich einen Code zu schreiben versuche ich bin faceing ein Problem ==> unten ...

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

nach den obigen Code-Compiler schreibt mir einige Fehler zeigt. compiler error

wenn ich kann zB der Mitarbeiter in meiner Hauptklasse und den Zugang property.like erstellen ->

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

dann meiner Frage, warum ich nicht in der Lage bin, das Eigentum der Mitarbeiter in anderer Klasse zuzugreifen (auch die Klasse mit erbt von der Employees-Klasse). meine Frage ist warum nicht die Lösung ????

+0

Was ist der Fehler, den der Compiler gibt? – Tom

+0

vielleicht haben Sie vergessen, es in eine Methode/Konstruktor zu wickeln? –

Antwort

4

Sie können nur Mitglieder einer Instanz innerhalb einer Methode, eines Konstruktors oder einer Eigenschaft festlegen. Also ich nehme an, Sie dies wünschen:

class Nayan 
{ 
    Employees n1 = new Employees(); 

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

Auch die Benennung-Konventionen betrachten, ist dies Namensklassen Pascal.

Verwandte Themen