ImportedFromTypeLibAttribute クラスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ImportedFromTypeLibAttribute クラスの意味・解説 

ImportedFromTypeLibAttribute クラス

アセンブリ内で定義された型が、タイプ ライブラリ初めに定義されたことを示します

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<AttributeUsageAttribute(AttributeTargets.Assembly, Inherited:=False)> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class
 ImportedFromTypeLibAttribute
    Inherits Attribute
Dim instance As ImportedFromTypeLibAttribute
[AttributeUsageAttribute(AttributeTargets.Assembly, Inherited=false)]
 
[ComVisibleAttribute(true)] 
public sealed class ImportedFromTypeLibAttribute
 : Attribute
[AttributeUsageAttribute(AttributeTargets::Assembly, Inherited=false)]
 
[ComVisibleAttribute(true)] 
public ref class ImportedFromTypeLibAttribute
 sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Assembly, Inherited=false)
 */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class ImportedFromTypeLibAttribute
 extends Attribute
AttributeUsageAttribute(AttributeTargets.Assembly, Inherited=false)
 
ComVisibleAttribute(true) 
public final class ImportedFromTypeLibAttribute
 extends Attribute
解説解説

この属性は、タイプ ライブラリインポートするときに タイプ ライブラリ インポータ (Tlbimp.exe) が基本的に自動適用しますが、アセンブリ適用することもできます

この属性主な用途は、型情報の元の定義を取得することです。たとえば、A.tlb を相互運用機能アセンブリ A.dll としてインポートし、アセンブリ B.dll に A.dll を参照させることもできます。B.dll を B.tlb にエクスポートすると、この属性によって、A.dll を指す B.tlb 内の参照代わりに A.tlb を指すようになります。これを、個々の型が COM実装されていることを示す ComImportAttribute と混同しないよう注意してください

使用例使用例
Imports System
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 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
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 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;
        }
    }
}
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;
   }
};
import System.*;
import System.Reflection.*;
import System.Runtime.InteropServices.*;

class ClassA
{
    public static boolean IsCOMAssembly(Assembly
 a)
    {
        Object asmAttributes[] = a.GetCustomAttributes(
            ImportedFromTypeLibAttribute.class.ToType(), true);

        if (asmAttributes.length > 0) {
            ImportedFromTypeLibAttribute imptlb 
                = (ImportedFromTypeLibAttribute)(asmAttributes.get_Item(0));
            String strImportedFrom = imptlb.get_Value();

            // Print out the the name of the DLL from which 
            // the assembly is imported.
            Console.WriteLine("Assembly " + a.get_FullName() 
                + " is imported from " + strImportedFrom);
            return true;
        }
        // This is not a COM assembly.
        Console.WriteLine("Assembly " + a.get_FullName() 
            + " is not imported from COM");
        return false;
    } //IsCOMAssembly
} //ClassA
継承階層継承階層
System.Object
   System.Attribute
    System.Runtime.InteropServices.ImportedFromTypeLibAttribute
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ImportedFromTypeLibAttribute メンバ
System.Runtime.InteropServices 名前空間
ComImportAttribute クラス
その他の技術情報
タイプ ライブラリ インポータ (Tlbimp.exe)


このページでは「.NET Framework クラス ライブラリ リファレンス」からImportedFromTypeLibAttribute クラスを検索した結果を表示しています。
Weblioに収録されているすべての辞書からImportedFromTypeLibAttribute クラスを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からImportedFromTypeLibAttribute クラス を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ImportedFromTypeLibAttribute クラス」の関連用語

ImportedFromTypeLibAttribute クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ImportedFromTypeLibAttribute クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS