Advertisement
Danielos168

Untitled

Jun 24th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.28 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Zad2
  8. {
  9.     [AttributeUsage(AttributeTargets.Class)]
  10.     public sealed class DekorujAttribute : Attribute
  11.     {
  12.        
  13.     }
  14.  
  15.     [Dekoruj]
  16.     class Pracownik
  17.     {
  18.         string imie, nazwisko;
  19.         int staz;
  20.  
  21.         public Pracownik(string imie, string nazwisko, int staz)
  22.         {
  23.             this.nazwisko = nazwisko;
  24.             this.imie = imie;
  25.             this.staz = staz;
  26.         }
  27.  
  28.         public override string ToString()
  29.         {
  30.             return $"Pracownik: {imie} {nazwisko} o stażu: {staz}";
  31.         }
  32.     }
  33.  
  34.     class Programista : Pracownik
  35.     {
  36.         string specjalizacja;
  37.         public Programista(string imie, string nazwisko, int staz,string specjalizacja) : base(imie, nazwisko, staz)
  38.         {
  39.             this.specjalizacja = specjalizacja;
  40.         }
  41.  
  42.         public override string ToString()
  43.         {
  44.             return base.ToString() + $" Specjalizacja: {specjalizacja} ";
  45.         }
  46.     }
  47.  
  48.     class Frajer
  49.     {
  50.         private string dlaczego = "Bo sie nie uczył cały rok tylko dzien przed egzaminem";
  51.         public override string ToString()
  52.         {
  53.             return $"Dlaczego frajer? : {dlaczego}";
  54.         }
  55.     }
  56.     class Program
  57.     {
  58.         static void Wyswietl(object o)
  59.         {
  60.             Type t = o.GetType();
  61.             object[] w;
  62.             w = Attribute.GetCustomAttributes(t);
  63.             foreach (var VARIABLE in w)
  64.             {
  65.                 if (VARIABLE.GetType()== typeof(DekorujAttribute))
  66.                 {
  67.                     Console.WriteLine(o.ToString());
  68.                     break;
  69.                 }
  70.             }
  71.         }
  72.         static void Main(string[] args)
  73.         {
  74.             Pracownik p1Pracownik = new Pracownik("Maciej","Kowalski",1);
  75.             Pracownik p2Pracownik = new Pracownik("Damian","Nowak",10);
  76.             Programista p1Programista = new Programista("Karol","Wojtyła",21,"Karachan");
  77.             Frajer ja = new Frajer();
  78.             Wyswietl(p1Pracownik);
  79.             Wyswietl(p2Pracownik);
  80.             Wyswietl(p1Programista);
  81.             Wyswietl(ja);
  82.             Console.ReadKey();
  83.         }
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement