Перечисление всех объектов класса - C#

Узнай цену своей работы

Формулировка задачи:

Вечер добрый. Как можно реализовать метод, возвращающий имена всех свойств класса?

Решение задачи: «Перечисление всех объектов класса»

textual
Листинг программы
  1.   class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             SomeObjectInherit2 b = new SomeObjectInherit2("ob1","Yellow");
  6.             b.ShowProps(b);
  7.             Console.ReadKey();
  8.         }
  9.  
  10.        abstract class SomeObject : IProper
  11.         {
  12.             private string name;
  13.             public string Name
  14.             {
  15.                 get { return name; }
  16.                 set { name = value;}
  17.             }
  18.             public SomeObject()
  19.             {
  20.                 Name = "object";
  21.             }
  22.             public SomeObject(string s)
  23.             {
  24.                 Name = s;
  25.             }
  26.  
  27.             public void ShowProps<T>(T a)
  28.             {
  29.                 PropertyInfo[] Props = typeof (T).GetProperties();
  30.                 foreach (var propname in Props)
  31.                 {
  32.                     Console.WriteLine(propname.Name + " is " + propname.GetValue(a));
  33.                 }
  34.             }
  35.         }
  36.  
  37.        class SomeObjectInherit : SomeObject
  38.        {
  39.            private double r;
  40.            public double R
  41.            {
  42.                get {return r; }
  43.                set {r = value;}
  44.            }
  45.            public SomeObjectInherit() : base() { }
  46.            public SomeObjectInherit(string s) : base(s) {}
  47.            public SomeObjectInherit(string s, double rad)
  48.                : base(s)
  49.            {
  50.                R = rad;
  51.            }
  52.         }
  53.  
  54.        class SomeObjectInherit2 : SomeObject
  55.        {
  56.            private string color;
  57.            public string Color
  58.            {
  59.                get { return color; }
  60.                set { color = value; }
  61.            }
  62.           public SomeObjectInherit2() : base() { }
  63.            public SomeObjectInherit2(string s) : base(s) {}
  64.            public SomeObjectInherit2(string s, string c)
  65.                : base(s)
  66.            {
  67.                Color = c;
  68.            }
  69.        }
  70.  
  71.        interface IProper
  72.        {
  73.            void ShowProps<T>(T a);
  74.        }
  75.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы