我正在爲Visual Studio 2010編寫自定義代碼分析規則(基本上是FxCop,但是是最新版本)。我想獲得一個屬性(或所有屬性的集合)應用於該組件的檢查,使用如下代碼:代碼分析AssemblyNode.GetType總是返回null
public override ProblemCollection Check(ModuleNode module)
{
AssemblyNode assembly = module as AssemblyNode;
if (assembly != null)
{
Identifier ns = Identifier.For("System.Reflection");
Identifier attr = Identifier.For("AssemblyCopyrightAttribute");
TypeNode type = assembly.GetType(ns, attr);
...
...但「型」總是空,即使事實上,我知道這個屬性是爲程序集定義的。
此外...當我調試這個,我看到assembly.ModuleAttributes集合爲空,因爲是ExportedTypes,如模塊...它看起來彷彿集包含什麼都沒有!但是,'base'ModuleNode已完全填充,例如在其屬性集合中包含14個屬性。
就好像「Assembly作爲AssemblyNode」是錯誤的,但如果是這樣它將返回null!任何人都可以解釋我做錯了什麼?