Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Zad2
- {
- [AttributeUsage(AttributeTargets.Class)]
- public sealed class DekorujAttribute : Attribute
- {
- }
- [Dekoruj]
- class Pracownik
- {
- string imie, nazwisko;
- int staz;
- public Pracownik(string imie, string nazwisko, int staz)
- {
- this.nazwisko = nazwisko;
- this.imie = imie;
- this.staz = staz;
- }
- public override string ToString()
- {
- return $"Pracownik: {imie} {nazwisko} o stażu: {staz}";
- }
- }
- class Programista : Pracownik
- {
- string specjalizacja;
- public Programista(string imie, string nazwisko, int staz,string specjalizacja) : base(imie, nazwisko, staz)
- {
- this.specjalizacja = specjalizacja;
- }
- public override string ToString()
- {
- return base.ToString() + $" Specjalizacja: {specjalizacja} ";
- }
- }
- class Frajer
- {
- private string dlaczego = "Bo sie nie uczył cały rok tylko dzien przed egzaminem";
- public override string ToString()
- {
- return $"Dlaczego frajer? : {dlaczego}";
- }
- }
- class Program
- {
- static void Wyswietl(object o)
- {
- Type t = o.GetType();
- object[] w;
- w = Attribute.GetCustomAttributes(t);
- foreach (var VARIABLE in w)
- {
- if (VARIABLE.GetType()== typeof(DekorujAttribute))
- {
- Console.WriteLine(o.ToString());
- break;
- }
- }
- }
- static void Main(string[] args)
- {
- Pracownik p1Pracownik = new Pracownik("Maciej","Kowalski",1);
- Pracownik p2Pracownik = new Pracownik("Damian","Nowak",10);
- Programista p1Programista = new Programista("Karol","Wojtyła",21,"Karachan");
- Frajer ja = new Frajer();
- Wyswietl(p1Pracownik);
- Wyswietl(p2Pracownik);
- Wyswietl(p1Programista);
- Wyswietl(ja);
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement