public int CompareTo(Type other) { // Make sure that Pointer parameters are sorted last to avoid bug [#1098]. // The rest of the comparisons help maintain a stable order (useful for source control). // Note that CompareTo is stricter than Equals and that there is code in // DelegateCollection.Add that depends on this fact. int result = this.CurrentType.CompareTo(other.CurrentType); if (result == 0) { result = Pointer.CompareTo(other.Pointer); // Must come after array/ref, see issue [#1098] } if (result == 0) { result = Reference.CompareTo(other.Reference); } if (result == 0) { result = Array.CompareTo(other.Array); } // Note: CLS-compliance and element counts // are used for comparison calculations, in order // to maintain a stable sorting order, even though // they are not used in equality calculations. if (result == 0) { result = CLSCompliant.CompareTo(other.CLSCompliant); } if (result == 0) { result = ElementCount.CompareTo(other.ElementCount); } return(result); }
/// <summary> /// Gets a collection of assembly attributes exposed by the assembly. /// </summary> /// <returns>A System.Specialized.KeyValueCollection of assembly attributes.</returns> public NameValueCollection GetAttributes() { NameValueCollection assemblyAttributes = new NameValueCollection(); //Add some values that are not in AssemblyInfo. assemblyAttributes.Add("Full Name", FullName); assemblyAttributes.Add("Name", Name); assemblyAttributes.Add("Version", Version.ToString()); assemblyAttributes.Add("Image Runtime Version", ImageRuntimeVersion); assemblyAttributes.Add("Build Date", BuildDate.ToString()); assemblyAttributes.Add("Location", Location); assemblyAttributes.Add("Code Base", CodeBase); assemblyAttributes.Add("GAC Loaded", GACLoaded.ToString()); //Add all attributes available from AssemblyInfo. assemblyAttributes.Add("Title", Title); assemblyAttributes.Add("Description", Description); assemblyAttributes.Add("Company", Company); assemblyAttributes.Add("Product", Product); assemblyAttributes.Add("Copyright", Copyright); assemblyAttributes.Add("Trademark", Trademark); assemblyAttributes.Add("Configuration", Configuration); assemblyAttributes.Add("Delay Sign", DelaySign.ToString()); assemblyAttributes.Add("Informational Version", InformationalVersion); assemblyAttributes.Add("Key File", KeyFile); assemblyAttributes.Add("Culture Name", CultureName); assemblyAttributes.Add("Satellite Contract Version", SatelliteContractVersion); assemblyAttributes.Add("Com Compatible Version", ComCompatibleVersion); assemblyAttributes.Add("Com Visible", ComVisible.ToString()); assemblyAttributes.Add("Guid", Guid); assemblyAttributes.Add("Type Lib Version", TypeLibVersion); assemblyAttributes.Add("CLS Compliant", CLSCompliant.ToString()); return(assemblyAttributes); }
public int CompareTo(Type other) { // Make sure that Pointer parameters are sorted last to avoid bug [#1098]. // The rest of the comparisons are not important, but they are there to // guarantee a stable order between program executions. int result = this.CurrentType.CompareTo(other.CurrentType); if (result == 0) { result = Pointer.CompareTo(other.Pointer); } if (result == 0) { result = Reference.CompareTo(other.Reference); } if (result == 0) { result = Array.CompareTo(other.Array); } if (result == 0) { result = CLSCompliant.CompareTo(other.CLSCompliant); } if (result == 0) { result = ElementCount.CompareTo(other.ElementCount); } return(result); }