partial class Program
{
  static void OutputAssemblyInfo(Assembly a)
  {
    WriteLine("FullName: {0}", a.FullName);
    WriteLine("Location: {0}", Path.GetDirectoryName(a.Location));
    WriteLine("IsCollectible: {0}", a.IsCollectible);
    WriteLine("Zdefiniowane typy:");
    foreach (TypeInfo info in a.DefinedTypes)
    {
      if (!info.Name.EndsWith("Atrybut"))
      {
        WriteLine("  Nazwa: {0}, liczba elementów: {1}",
          info.Name, info.GetMembers().Count());
      }
    }
    WriteLine();
  }
}
