ImportedFromTypeLibAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Indica che i tipi definiti all'interno di un assembly sono stati definiti in origine in una libreria dei tipi.
public ref class ImportedFromTypeLibAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
public sealed class ImportedFromTypeLibAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ImportedFromTypeLibAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)>]
type ImportedFromTypeLibAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ImportedFromTypeLibAttribute = class
inherit Attribute
Public NotInheritable Class ImportedFromTypeLibAttribute
Inherits Attribute
- Ereditarietà
- Attributi
Esempio
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 l' Tlbimp.exe (Utilità di importazione libreria tipi) lo applica in genere quando si tratta di una libreria di tipi.
L'uso primario dell'attributo consiste nell'acquisire l'origine originale delle informazioni sul tipo. Ad esempio, è possibile importare A.tlb come assembly di interoperabilità denominato A.dll e avere B.dll A.dll riferimento all'assembly. Quando si esporta B.dll in B.tlb, questo attributo causa i riferimenti in B.tlb che puntano a A.dll invece a A.tlb. Questa operazione non deve essere confusa con , ComImportAttributeche specifica che un singolo tipo viene implementato in COM.
Costruttori
ImportedFromTypeLibAttribute(String) |
Inizializza una nuova istanza della classe ImportedFromTypeLibAttribute con il nome del file originale della libreria dei tipi. |
Proprietà
TypeId |
Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute. (Ereditato da Attribute) |
Value |
Ottiene il nome del file originale della libreria dei tipi. |
Metodi
Equals(Object) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
GetHashCode() |
Restituisce il codice hash per l'istanza. (Ereditato da Attribute) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
IsDefaultAttribute() |
In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute) |
Match(Object) |
Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute) |
_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. (Ereditato da Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornisce l'accesso a proprietà e metodi esposti da un oggetto. (Ereditato da Attribute) |