/Test/interface_properties.cs

http://github.com/fishman/ctags · C# · 64 lines · 56 code · 3 blank · 5 comment · 0 complexity · e483220244ce91c68866aa865bc9d89f MD5 · raw file

  1. // cs_interface_properties.cs
  2. // Interface Properties
  3. using System;
  4. interface IEmployee
  5. {
  6. string Name
  7. {
  8. get;
  9. set;
  10. }
  11. int Counter
  12. {
  13. get;
  14. }
  15. }
  16. public class Employee: IEmployee
  17. {
  18. public static int numberOfEmployees;
  19. private int counter;
  20. private string name;
  21. // Read-write instance property:
  22. public string Name
  23. {
  24. get
  25. {
  26. return name;
  27. }
  28. set
  29. {
  30. name = value;
  31. }
  32. }
  33. // Read-only instance property:
  34. public int Counter
  35. {
  36. get
  37. {
  38. return counter;
  39. }
  40. }
  41. // Constructor:
  42. public Employee()
  43. {
  44. counter = ++counter + numberOfEmployees;
  45. }
  46. }
  47. public class MainClass
  48. {
  49. public static void Main()
  50. {
  51. Console.Write("Enter number of employees: ");
  52. string s = Console.ReadLine();
  53. Employee.numberOfEmployees = int.Parse(s);
  54. Employee e1 = new Employee();
  55. Console.Write("Enter the name of the new employee: ");
  56. e1.Name = Console.ReadLine();
  57. Console.WriteLine("The employee information:");
  58. Console.WriteLine("Employee number: {0}", e1.Counter);
  59. Console.WriteLine("Employee name: {0}", e1.Name);
  60. }
  61. }