Cum*_*yah 5 .net reflection assemblies circular-dependency circular-reference
我正在编写一些C#代码,递归地遍历基本程序集的引用程序集,构建这些引用的有向非循环图以进行拓扑排序.我是通过Assembly类上的GetReferencedAssemblies()方法完成的.
在测试代码时,我发现 - 令我惊讶的是 - .NET框架中的某些程序集显然将自己列为程序集引用.一个这样的例子是System.Transactions,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089,它列出了System.Transactions,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089作为参考,可以在Reflector中验证.
一旦我意识到这一点,通过比较AssemblyNames打破无限递归是微不足道的,但我很好奇这种情况,因为我自己无法生成自递归程序集.(我可以谷歌没有关于此的信息,并添加自己作为参考不会使得到的程序集自我递归.)
简而言之:自我递归汇编引用真的是"犹太教" - 一些系统程序集引用自身的理由是什么?
谢谢.
归档时间: |
|
查看次数: |
591 次 |
最近记录: |