Member 'Employee.Employee.name' cannot be accessed with an instance reference; qualify it with a type name instead
Nie mogę wydrukować na konsolę pola typu string! klasa Employee, pole name i pojawia się błąd o powyższej treści, dlaczego??
W utworzonej na szybko klasie Test o polu string imie instrukcja Console.Writeline(obj.imie) bez problemu wypisuje zawartość pola. załamka :(
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Employee
{
class Employee
{
static string name;
static string surname;
static int salary;
public Employee (string styp, string simie)
{
if (styp == "name") SetName(simie);
else if (styp == "surname") SetSurname(simie);
else
{
Console.WriteLine("określ typ jako name lub surname");
}
}
public Employee(int ipensja)
{
try
{
SetSalary(ipensja);
}
catch (ArgumentOutOfRangeException outOfRange)
{
Console.WriteLine("Error: {0}", outOfRange.Message);
}
}
public Employee(string simie, string snazwisko, int ipensja)
{
SetName(simie); SetSurname(snazwisko); SetSalary(ipensja);
}
public string GetName() { return name; }
public string GetSurname() { return surname; }
public int GetSalary() { return salary; }
public void SetName(string imie) { name = imie; }
public void SetSurname(string nazwisko) { surname = nazwisko; }
public void SetSalary(int pensja)
{
if (pensja < 0)
throw new ArgumentOutOfRangeException("Pensja musi byc nieujemna!");
else
salary = pensja;
}
static void Main(string[] args)
{
Employee a = new Employee("Michał", "Kowalski",3);
Employee b = new Employee("Michała", "Kowalski", 3);
Console.WriteLine(a.name); //TU WYSKAKUJE OPISANY BŁĄD
Organization o = new Organization(2);
o[0] = a;
o[1] = new Employee("Michała", "Kowalski", 3);
System.Console.ReadKey();
}
}
}
class MyClass
{
private string name;
private string surname;
public MyClass(string imie)
{
name = imie;
}
public string GetName {
get { return this.name; }
set { this.name = value; }
}
static void Main(string[] args)
{
MyClass a = new MyClass("kris");
Console.WriteLine(a.name); // tutaj działa normalnie, drukuje kris.
Console.ReadKey();
}
}