Mono.CSharp.ImportedAssemblyDefinition.ReadAttributes C# (CSharp) Method

ReadAttributes() public method

public ReadAttributes ( ) : void
return void
        public void ReadAttributes()
        {
            #if STATIC
            if (assembly.__IsMissing)
                return;
            #endif

            IList<CustomAttributeData> attrs = CustomAttributeData.GetCustomAttributes (assembly);

            string ns, name;
            foreach (var a in attrs) {
                importer.GetCustomAttributeTypeName (a, out ns, out name);

                if (name == "CLSCompliantAttribute") {
                    if (ns == "System") {
                        try {
                            cls_compliant = (bool) a.ConstructorArguments[0].Value;
                        } catch {
                        }
                    }
                    continue;
                }

                if (name == "InternalsVisibleToAttribute") {
                    if (ns != MetadataImporter.CompilerServicesNamespace)
                        continue;

                    string s;
                    try {
                        s = a.ConstructorArguments[0].Value as string;
                    } catch {
                        s = null;
                    }

                    if (s == null)
                        continue;

                    var an = new AssemblyName (s);
                    if (internals_visible_to == null)
                        internals_visible_to = new List<AssemblyName> ();

                    internals_visible_to.Add (an);
                    continue;
                }

                if (name == "ExtensionAttribute") {
                    if (ns == MetadataImporter.CompilerServicesNamespace)
                        contains_extension_methods = true;

                    continue;
                }
            }
        }

Usage Example

Example #1
0
		public ImportedAssemblyDefinition GetAssemblyDefinition (Assembly assembly)
		{
			ImportedAssemblyDefinition def;
			if (!assembly_2_definition.TryGetValue (assembly, out def)) {

				// This can happen in dynamic context only
				def = new ImportedAssemblyDefinition (assembly, this);
				assembly_2_definition.Add (assembly, def);
				def.ReadAttributes ();
			}

			return def;
		}
All Usage Examples Of Mono.CSharp.ImportedAssemblyDefinition::ReadAttributes