OpenFileDialog obj = new OpenFileDialog(); if (obj.ShowDialog() == System.Windows.Forms.DialogResult.OK) { Assembly ass = Assembly.LoadFrom(obj.FileName); foreach(var type in ass.GetTypes()) { MethodInfo[] members = type.GetMethods(BindingFlags.Public | BindingFlags.Instance); foreach (MemberInfo member in members) { Console.WriteLine(type.Name + "." + member.Name); } } }
MethodBase method = MethodBase.GetCurrentMethod(); MyAttribute attr = (MyAttribute)method.GetCustomAttributes(typeof(MyAttribute), true)[0] ; string value = attr.Value; //Assumes that MyAttribute has a property called Value You can also get the MethodBase manually, like this: (This will be faster) MethodBase method = typeof(MyClass).GetMethod("MyMethod");
[MyAttribute("Hello World")] public int MyMethod() { var myAttribute = GetType().GetMethod("MyMethod").GetCustomAttributes(true).OfType<MyAttribute>().FirstOrDefault(); }