2015-10-13 140 views
0

我想在C#中的MVC 5.捕捉信息

例的方法中得到一個變量的信息,我的方法就是這樣的,並希望得到所使用的參數在下面的例子中的變量「dt」中。

public static JsonResult NamesDropDownListTest() 
{ 
    var dt = MyClass.QueryStoreProcedureDataTableTest(DataWareHouse,"gpkTest.procedure_type_docs"); 

    return new JsonResult 
    { 
     Data = dt, 
     JsonRequestBehavior = JsonRequestBehavior.AllowGet, 
     MaxJsonLength = int.MaxValue 
    }; 
} 

我通過這段代碼,我看到這裏的論壇嘗試:

 var asm = Assembly.Load("MyAssemblyNameProject"); 

    var listAsm = asm.GetTypes() 
      .SelectMany(type => type.GetMethods(BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Public)) 
      .Where(m => !m.GetCustomAttributes(typeof(System.Runtime.CompilerServices.CompilerGeneratedAttribute), true).Any()) 
      .Select(x => new { Classe = x.DeclaringType.Name, Action = x.Name, ReturnType = x.ReturnType.Name, Attributes = string.Join(",", x.GetCustomAttributes().Select(a => a.GetType().Name.Replace("Attribute", ""))), Parameter = string.Join(",", x.GetParameters().Select(s => new { atributo = s.ParameterType.FullName, nome = s.Name }).ToList()), teste = string.Join(",", x.Attributes) }) 
      .OrderBy(x => x.Classe).ThenBy(x => x.Action).ToList(); 

我希望把這種信息,如方法名稱,動作和方法被發現含有這些變量我需要這些參數的名稱。 我希望我很清楚。

預先感謝所有人。

回答

1

有關局部變量和方法調用的信息不能通過反射獲得。您必須使用某種反編譯器或靜態分析工具來查找代碼中實際使用的方法

+0

謝謝。任何建議我開始這個冒險? –

+0

http://stackoverflow.com/questions/38635/what-static-analysis-tools-are-available-for-c –