代码之家  ›  专栏  ›  技术社区  ›  alwayslearning

如何比较两个assemblyname实例?

  •  5
  • alwayslearning  · 技术社区  · 15 年前

    如何比较两个assemblyname实例以确定它们是否表示同一个程序集?“equals”方法不是重写的。

    我能想到的一种方法是比较两个实例的“toString()”结果,但我更喜欢“equals”语法,因为我需要准备“unique”assemblyname实例的列表(列表),并希望使用“contains(assemblyname item)”方法。

    2 回复  |  直到 15 年前
        1
  •  6
  •   casperOne    15 年前

    只要使用强名称程序集,就可以比较 ToString method 很好,因为它输出程序集的全名, which is supposed to be consistent and seems to be culture-invariant .

    如果程序集不是强名称的,则可以轻松创建具有相同名称和版本号/区域性的另一个程序集,并且该程序集与您的程序集具有相同的程序集名称。

    但是有一点需要注意,因为程序集名称相同并不意味着程序集具有相同的物理标识;位置是 程序集名称的一部分。

        2
  •  2
  •   Matthew Abbott    15 年前

    我会比较 AssemblyName.FullName 属性,因为它表示程序集的实际版本特定标识。

    推荐文章