Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. public static void Reflect(string assemblyName, string className)
  2. {
  3. var type = string.IsNullOrEmpty(assemblyName) ? Type.GetType(className) : (Assembly.LoadFile(assemblyName).GetType(className));
  4. var obj = Activator.CreateInstance(type);
  5.  
  6. var propertyNames = type.GetProperties()
  7. .Where(x =>
  8. x.GetAccessors(true).Any(y => y.ReturnType == typeof(void))
  9. && x.GetAccessors(true).Any(y => y.ReturnType != typeof(void))
  10. && !x.GetCustomAttributes(false).Any(y => y is ObsoleteAttribute))
  11. .Select(x => x.Name)
  12. .ToArray();
  13.  
  14. foreach (var propertyName in propertyNames)
  15. {
  16. var propertyValue = type.GetProperty(propertyName)?.GetValue(obj).ToString();
  17.  
  18. Console.WriteLine($"{propertyName}: {propertyValue}");
  19. }
  20. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement