大家好,我正在使用roslyn,我想获取方法的通用返回类型的数据类型,例如:ObjectResult,它返回要在<>之间获取类型的方法的类型,例如GetCoursesByStudentId_Result
我可以访问方法ObjectResult的返回类型 但是我想在<>之间输入类型。
//Get Stored Procdures inside Context Class
var AllStoredProcedurs = contextclass.DescendantNodes().OfType<MethodDeclarationSyntax>()?.
Where(m => m.Body.ToFullString().Contains("return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction")).ToList();
其中contextclass是对SchoolDBEntities的变量引用
foreach (var sp in AllStoredProcedurs)
{
var Sp_AccessModifier = sp.Modifiers.ToFullString();
var Sp_ReturnType = sp.ReturnType;
}
这是我要解析的代码
namespace EFTutorials
{
public partial class SchoolDBEntities : DbContext
{
public virtual ObjectResult<GetCoursesByStudentId_Result> GetCoursesByStudentId(Nullable<int> studentId)
{
var studentIdParameter = studentId.HasValue ?
new ObjectParameter("StudentId", studentId) :
new ObjectParameter("StudentId", typeof(int));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<GetCoursesByStudentId_Result>("GetCoursesByStudentId", studentIdParameter);
}
}
}