ImportedFromTypeLibAttribute ImportedFromTypeLibAttribute ImportedFromTypeLibAttribute ImportedFromTypeLibAttribute Class

Definizione

Indica che i tipi definiti all'interno di un assembly sono stati definiti in origine in una libreria dei tipi.Indicates that the types defined within an assembly were originally defined in a type library.

public ref class ImportedFromTypeLibAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ImportedFromTypeLibAttribute : Attribute
type ImportedFromTypeLibAttribute = class
    inherit Attribute
Public NotInheritable Class ImportedFromTypeLibAttribute
Inherits Attribute
Ereditarietà
ImportedFromTypeLibAttributeImportedFromTypeLibAttributeImportedFromTypeLibAttributeImportedFromTypeLibAttribute
Attributi

Esempi

using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;

class ClassA
{
private:
   static bool IsCOMAssembly( Assembly^ a )
   {
      array<Object^>^AsmAttributes = a->GetCustomAttributes( ImportedFromTypeLibAttribute::typeid, true );
      if ( AsmAttributes->Length > 0 )
      {
         ImportedFromTypeLibAttribute^ imptlb = dynamic_cast<ImportedFromTypeLibAttribute^>(AsmAttributes[ 0 ]);
         String^ strImportedFrom = imptlb->Value;
         
         // Print out the name of the DLL from which the assembly is imported.
         Console::WriteLine( "Assembly {0} is imported from {1}", a->FullName, strImportedFrom );
         return true;
      }

      // This is not a COM assembly.
      Console::WriteLine( "Assembly {0} is not imported from COM", a->FullName );
      return false;
   }
};
using System;
using System.Reflection;
using System.Runtime.InteropServices;

namespace A
{
	class ClassA
	{
		public static bool IsCOMAssembly( Assembly a )
		{
			object[] AsmAttributes = a.GetCustomAttributes( typeof( ImportedFromTypeLibAttribute ), true );
			if( AsmAttributes.Length > 0 )
			{
				ImportedFromTypeLibAttribute imptlb = ( ImportedFromTypeLibAttribute )AsmAttributes[0];
				string strImportedFrom  = imptlb.Value;
				    
				// Print out the name of the DLL from which the assembly is imported.
				Console.WriteLine( "Assembly " + a.FullName + " is imported from " + strImportedFrom );
			
				return true;
			}  
			// This is not a COM assembly.
			Console.WriteLine( "Assembly " + a.FullName + " is not imported from COM" );
			return false;
		}
	}
}
Imports System.Reflection
Imports System.Runtime.InteropServices

Module A
	Public Function IsCOMAssembly(ByVal a As System.Reflection.Assembly) As Boolean

		Dim AsmAttributes As Object() = a.GetCustomAttributes(GetType(ImportedFromTypeLibAttribute), True)
		If AsmAttributes.Length = 1 Then
			Dim imptlb As ImportedFromTypeLibAttribute = AsmAttributes(0)
			Dim strImportedFrom As String = imptlb.Value

			' Print out the name of the DLL from which the assembly is imported.
			Console.WriteLine("Assembly " + a.FullName + " is imported from " + strImportedFrom)

			Return True
		End If

		' This is not a COM assembly.
		Console.WriteLine("Assembly " + a.FullName + " is not imported from COM")

		Return False
	End Function
End Module

Commenti

È possibile applicare questo attributo agli assembly, anche se Tlbimp. exe (utilità di importazione della libreria dei tipi) viene in genere applicato quando si tratta di una libreria dei tipi.You can apply this attribute to assemblies, although the Tlbimp.exe (Type Library Importer) typically applies it for you when it a type library.

L'uso principale dell'attributo consiste nell'acquisire l'origine originale delle informazioni sul tipo.The primary use of the attribute is to capture the original source of the type information. Ad esempio, è possibile importare un file con estensione tlb come assembly di interoperabilità denominato A. dll e l'assembly B. dll fa riferimento A un file con estensione dll.For example, you can import A.tlb as an interop assembly called A.dll and have assembly B.dll reference A.dll. Quando si esporta B. dll in B. tlb, questo attributo causa i riferimenti in B. tlb che puntano a un file con estensione dll per puntare invece a un file tlb.When you export B.dll to B.tlb, this attribute causes the references in B.tlb that point to A.dll to point instead to A.tlb. Questa operazione non deve essere confusa ComImportAttributecon la, che specifica che un singolo tipo viene implementato in com.This should not be confused with the ComImportAttribute, which specifies that an individual type is implemented in COM.

Costruttori

ImportedFromTypeLibAttribute(String) ImportedFromTypeLibAttribute(String) ImportedFromTypeLibAttribute(String) ImportedFromTypeLibAttribute(String)

Inizializza una nuova istanza della classe ImportedFromTypeLibAttribute con il nome del file originale della libreria dei tipi.Initializes a new instance of the ImportedFromTypeLibAttribute class with the name of the original type library file.

Proprietà

TypeId TypeId TypeId TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
Value Value Value Value

Ottiene il nome del file originale della libreria dei tipi.Gets the name of the original type library file.

Metodi

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Si applica a

Vedi anche