我想寫一個自定義規則(代碼分析)其中,如果方法的主體包含空語句,則會引發錯誤。獲取方法體c#
但是,有一個問題。我似乎無法弄清楚如何獲得方法的正文(方法中的文本)。
如何獲取方法內的文本並將其分配給字符串?
在此先感謝。
僅供參考;我在visual studio中使用c#,用FxCop來制定規則。
編輯:添加了一些代碼供參考,這是行不通的。
using Microsoft.FxCop.Sdk;
using Microsoft.VisualStudio.CodeAnalysis.Extensibility;
public override ProblemCollection Check(Member member)
{
Method method = member as Method;
if (method == null)
{
return null;
}
if (method.Name.Name.Contains("{}"))
{
var resolution = GetResolution(member.Name.Name);
var problem = new Problem(resolution, method)
{
Certainty = 100,
FixCategory = FixCategories.Breaking,
MessageLevel = MessageLevel.Warning
};
Problems.Add(problem);
}
return Problems;
}
您是否試圖自己找到解決方案?你可能會顯示你使用的代碼作爲一些上下文嗎? – TheGeekZn
你走了。正如你所看到的,我已經嘗試了Contains函數來進行比較;但如果我能得到一個字符串中的文本,然後比較也將是了不起的。無論解決方案是什麼。 – Matthijs
你可以直接將'member'作爲'method'嗎?不知道類,我會假設'method.Name.Name.ToString()。Contains(「{}」)'可能會有所幫助。 – TheGeekZn