با سلام کد زیر لیست تمام کنترلر ها و اکشن ها و Attribute های موجود رو برمیگردونه . سوال من اینه که چطور مقدار این Attribute ها رو بگیرم
Assembly asm = Assembly.GetAssembly(typeof(Base_Auth.MvcApplication)); var controlleractionlist = asm.GetTypes() .Where(type => typeof(System.Web.Mvc.Controller).IsAssignableFrom(type)) .SelectMany(type => type.GetMethods(BindingFlags.Instance | BindingFlags.DeclaredOnly | BindingFlags.Public)) .Where(m => !m.GetCustomAttributes(typeof(System.Runtime.CompilerServices.CompilerGeneratedAttribute), true).Any()) .Select(x => new { Controller = x.DeclaringType.Name, Action = x.Name, ReturnType = x.ReturnType.Name, Attributes = String.Join(",", x.GetCustomAttributes().Select(a => a.GetType().Name.Replace("Attribute", ""))) }) .OrderBy(x => x.Controller).ThenBy(x => x.Action).ToList();
منظور از مقدار چیست ؟
چه اطلاعاتی لازم دارید ؟
سلام
مثلا این خصوصیت [("Famliy")DisplayName] مقدارش Family هستش من Family رو میخوام
Models.Test test = new Models.Test(); string DisplayName = test.GetDisplayName(t => t.Name); string DisplayName = Helpers.GetDisplayName<Models.Test>(t => t.Name);
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)