情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Assembly クラス

2013/12/12

再利用でき、バージョン管理可能で自己記述型の共通言語ランタイム アプリケーションのビルド ブロックであるアセンブリを表します。

System.Object
  System.Reflection.Assembly

Namespace:  System.Reflection
アセンブリ:  mscorlib (mscorlib.dll 内)

public abstract class Assembly : ICustomAttributeProvider

Assembly 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック プロパティCustomAttributesこのアセンブリのカスタム属性を格納するコレクションを取得します。
パブリック プロパティDefinedTypesこのアセンブリで定義された型のコレクションを取得します。
パブリック プロパティEntryPointこのアセンブリのエントリ ポイントを取得します。
パブリック プロパティExportedTypesアセンブリの外部で参照できる、このアセンブリ内で定義されているパブリック型のコレクションを取得します。
パブリック プロパティFullNameアセンブリの表示名を取得します。
パブリック プロパティImageRuntimeVersionマニフェストを格納しているファイルに保存された共通言語ランタイム (CLR: common language runtime) のバージョンを表す文字列を取得します。
パブリック プロパティIsDynamic現在のアセンブリが、現在のプロセスでリフレクション出力を使用して動的に生成されたかどうかを示す値を取得します。
パブリック プロパティManifestModule現在のアセンブリのマニフェストを格納しているモジュールを取得します。
パブリック プロパティModulesこのアセンブリ内のモジュールが格納されているコレクションを取得します。
このページのトップへ

  名前説明
パブリック メソッドCreateInstance大文字小文字を区別する検索を使用してこのアセンブリから指定された型を検索し、システム アクティベーターを使用してこの型のインスタンスを作成します。
パブリック メソッドEqualsこのアセンブリと指定したオブジェクトが等しいかどうかを判断します。 (Object.Equals(Object) をオーバーライドします。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッド静的メンバーGetCallingAssembly現在実行中のメソッドを呼び出したメソッドの Assembly を返します。
パブリック メソッドGetCustomAttributes(Boolean)このアセンブリのすべてのカスタム属性を取得します。
パブリック メソッドGetCustomAttributes(Type, Boolean)型を指定して、このアセンブリのカスタム属性を取得します。
パブリック メソッド静的メンバーGetExecutingAssembly現在実行中のコードを格納しているアセンブリを取得します。
パブリック メソッドGetExportedTypesアセンブリの外側で参照できる、このアセンブリ内で定義された型を取得します。
パブリック メソッドGetHashCodeこのインスタンスのハッシュ コードを返します。 (Object.GetHashCode() をオーバーライドします。)
パブリック メソッドGetManifestResourceInfo指定されたリソースが永続化された方法に関する情報を返します。
パブリック メソッドGetManifestResourceNamesこのアセンブリのすべてのリソースの名前を返します。
パブリック メソッドGetManifestResourceStream(String)このアセンブリから、指定したマニフェスト リソースを読み込みます。
パブリック メソッドGetManifestResourceStream(Type, String)このアセンブリから、指定した型の名前空間によってスコープが指定されている、指定したマニフェスト リソースを読み込みます。
パブリック メソッドGetModulesこのアセンブリの一部であるすべてのモジュールを取得します。
パブリック メソッドGetName()セキュリティ クリティカル。 このアセンブリの AssemblyName を取得します。
パブリック メソッドGetName(Boolean)セキュリティ クリティカル。 このアセンブリの AssemblyName を取得し、copiedName の指定に従ってコードベースを設定します。
パブリック メソッドGetSatelliteAssembly(CultureInfo)指定されたカルチャ設定のサテライト アセンブリを取得します。
パブリック メソッドGetSatelliteAssembly(CultureInfo, Version)指定したバージョンの指定したカルチャ設定のサテライト アセンブリを取得します。
パブリック メソッドGetType()現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドGetType(String)指定した名前の Type オブジェクトを、アセンブリ インスタンスから取得します。
パブリック メソッドGetType(String, Boolean)指定した名前の Type オブジェクトをアセンブリ インスタンスから取得し、型が見つからない場合は、オプションで例外をスローします。
パブリック メソッドGetTypesこのアセンブリで定義されている型を取得します。
パブリック メソッドIsDefined指定した属性がアセンブリに適用されているかどうかを示します。
パブリック メソッド静的メンバーLoad(AssemblyName)セキュリティ クリティカル。 AssemblyName を指定してアセンブリを読み込みます。
パブリック メソッド静的メンバーLoad(String)長い形式の名前を指定してアセンブリを読み込みます。
パブリック メソッド静的メンバーLoadFromセキュリティ クリティカル。 ファイル名またはパスを指定してアセンブリを読み込みます。
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドToStringアセンブリの完全名を返します。この名前は表示名とも呼ばれます。 (Object.ToString() をオーバーライドします。)
このページのトップへ

  名前説明
パブリック拡張メソッドGetCustomAttribute(Type)オーバーロードされます。 指定したアセンブリに適用される指定した型のカスタム属性を取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttribute<T>()オーバーロードされます。 指定したアセンブリに適用される指定した型のカスタム属性を取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttributes()オーバーロードされます。 指定したアセンブリに適用されるカスタム属性のコレクションを取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttributes(Type)オーバーロードされます。 指定したアセンブリに適用する指定した型のカスタム属性のコレクションを取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttributes<T>()オーバーロードされます。 指定したアセンブリに適用する指定した型のカスタム属性のコレクションを取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドIsDefined指定した型のカスタム属性が指定したアセンブリに適用されているかどうかを示します。 (CustomAttributeExtensions によって定義されています。)
このページのトップへ

アセンブリの読み込み、メタデータやアセンブリの構成部分の調査、アセンブリに格納されている型の検出、およびそれらの型のインスタンスの作成を行うには、Assembly クラスを使用します。

アセンブリを動的に読み込むために、Assembly クラスに静的 Load(String) メソッド オーバーロード (Visual Basic では Shared メソッド) が用意されています。アセンブリは Windows Phone アプリケーション ドメインに読み込まれます。他のオーバーロードは、.NET Framework の信頼されたアセンブリだけから呼び出すことができます。

現在実行中のアセンブリの Assembly オブジェクトを取得するには、GetExecutingAssembly メソッドを使用します。

Assembly クラスの多くのメンバーでは、アセンブリに関する情報が提供されます。例を示します。

  • GetName メソッドは、アセンブリの表示名の部分へのアクセスを実現する AssemblyName オブジェクトを返します。

  • GetCustomAttributes メソッドは、アセンブリに適用される属性の一覧を取得します。

  • GetManifestResourceNames メソッドは、アセンブリ マニフェスト内のリソースの名前を提供します。

GetTypes メソッドは、アセンブリ内のすべての型の一覧を取得します。GetExportedTypes メソッドは、アセンブリの外側で、呼び出し元から参照できる型の一覧を取得します。GetType メソッドは、アセンブリ内の特定の型を検索するために使用できます。CreateInstance メソッドは、アセンブリ内で、型のインスタンスを検索および作成するために使用できます。

現在実行中のアセンブリを取得する方法、そのアセンブリに格納される型のインスタンスを作成する方法、および、遅延バインディングを使用しているその型のいずれかのメソッドを呼び出す方法を次のコード例に示します。これを行うため、コード例では SampleMethod という名前のメソッドを持つ Example という名前のクラスを定義します。このクラスのコンストラクターは、メソッドの戻り値を計算するのに使用する整数を受け取ります。

コード例では、アセンブリの完全名の解析に使用できる AssemblyName オブジェクトを取得する、GetName メソッドの使用方法も示しています。この例では、アセンブリのバージョン番号および EntryPoint プロパティが表示されます。


using System;
using System.Reflection;
using System.Security.Permissions;

[assembly: AssemblyVersionAttribute("1.0.2000.0")]

public class Example
{
   private static System.Windows.Controls.TextBlock outputBlock;
   private int factor;

   public Example() : this(42) {}
   public Example(int f)
   {
      factor = f;
   }

   public int SampleMethod(int x)
   {
      outputBlock.Text += String.Format("\nExample.SampleMethod({0}) executes.", x) + "\n";
      return x * factor;
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {

      Example.outputBlock = outputBlock;
      Assembly assem = Assembly.GetExecutingAssembly();

      outputBlock.Text += "Assembly Full Name:" + "\n";
      outputBlock.Text += assem.FullName + "\n";

      // Create an object from the assembly, using the default constructor.
      Object o = assem.CreateInstance("Example");

      // Make a late-bound call to an instance method of the object.    
      MethodInfo m = assem.GetType("Example").GetMethod("SampleMethod");
      Object ret = m.Invoke(o, new Object[] { 42 });
      outputBlock.Text += String.Format("SampleMethod returned {0}.\n", ret);

      outputBlock.Text += "\nAssembly entry point:\n";
      MethodInfo entry = assem.EntryPoint;
      if (entry == null)
      {
         outputBlock.Text += "No entry point defined for the assembly.\n";
      }
      else
      {
         outputBlock.Text += entry.ToString() + "\n";
      }
   }
}

/* This code example produces output similar to the following:

Assembly Full Name:
source, Version=1.0.2000.0, Culture=neutral, PublicKeyToken=null

Example.SampleMethod(42) executes.
SampleMethod returned 1784.

Assembly entry point:
No entry point defined for the assembly.
 */


Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型は、スレッド セーフです。

表示: