Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Dynamic;
- using System.Linq;
- namespace ConsoleApp2
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.WriteLine("Hello World!");
- var data = new DataClass
- {
- Date = DateTime.Now,
- Title = "Some tile",
- Lolks = 3
- };
- dynamic cover = new Cover(data);
- Console.WriteLine(cover.Get5OldestPersonsInMoscow());
- Console.ReadLine();
- }
- }
- class Cover : DynamicObject
- {
- private readonly object inner;
- private readonly Type innerType;
- public Cover(object inner)
- {
- this.inner = inner;
- this.innerType = inner.GetType();
- }
- public override bool TryGetMember(GetMemberBinder binder, out object result)
- {
- result = default;
- var methodInfo = innerType.GetProperty(binder.Name);
- if (methodInfo == null) return false;
- result = methodInfo.GetValue(inner) ?? "No Data";
- return true;
- }
- }
- class DataClass
- {
- public string Title { get; set; }
- public int Lolks { get; set; }
- public string Description { get; set; }
- public DateTime Date { get; set; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement