Перечисление всех объектов класса - C#
Формулировка задачи:
Вечер добрый.
Как можно реализовать метод, возвращающий имена всех свойств класса?
Решение задачи: «Перечисление всех объектов класса»
textual
Листинг программы
class Program { static void Main(string[] args) { SomeObjectInherit2 b = new SomeObjectInherit2("ob1","Yellow"); b.ShowProps(b); Console.ReadKey(); } abstract class SomeObject : IProper { private string name; public string Name { get { return name; } set { name = value;} } public SomeObject() { Name = "object"; } public SomeObject(string s) { Name = s; } public void ShowProps<T>(T a) { PropertyInfo[] Props = typeof (T).GetProperties(); foreach (var propname in Props) { Console.WriteLine(propname.Name + " is " + propname.GetValue(a)); } } } class SomeObjectInherit : SomeObject { private double r; public double R { get {return r; } set {r = value;} } public SomeObjectInherit() : base() { } public SomeObjectInherit(string s) : base(s) {} public SomeObjectInherit(string s, double rad) : base(s) { R = rad; } } class SomeObjectInherit2 : SomeObject { private string color; public string Color { get { return color; } set { color = value; } } public SomeObjectInherit2() : base() { } public SomeObjectInherit2(string s) : base(s) {} public SomeObjectInherit2(string s, string c) : base(s) { Color = c; } } interface IProper { void ShowProps<T>(T a); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д