次の方法で共有


AppDomain.CreateInstanceAndUnwrap メソッド

指定した型の新しいインスタンスを作成します。

オーバーロードの一覧

指定した型の新しいインスタンスを作成します。パラメータには、型が定義されているアセンブリの名前と型の名前を指定します。

[Visual Basic] Overloads Public Function CreateInstanceAndUnwrap(String, String) As Object

[C#] public object CreateInstanceAndUnwrap(string, string);

[C++] public: Object* CreateInstanceAndUnwrap(String*, String*);

[JScript] public function CreateInstanceAndUnwrap(String, String) : Object;

指定した型の新しいインスタンスを作成します。パラメータには、型が定義されているアセンブリの名前、型の名前、およびアクティベーション属性の配列を指定します。

[Visual Basic] Overloads Public Function CreateInstanceAndUnwrap(String, String, Object()) As Object

[C#] public object CreateInstanceAndUnwrap(string, string, object[]);

[C++] public: Object* CreateInstanceAndUnwrap(String*, String*, Object[]);

[JScript] public function CreateInstanceAndUnwrap(String, String, Object[]) : Object;

指定した型の新しいインスタンスを作成します。パラメータには、型の名前、およびその検索方法と作成方法を指定します。

[Visual Basic] Overloads Public Function CreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object(), CultureInfo, Object(), Evidence) As Object

[C#] public object CreateInstanceAndUnwrap(string, string, bool, BindingFlags, Binder, object[], CultureInfo, object[], Evidence);

[C++] public: Object* CreateInstanceAndUnwrap(String*, String*, bool, BindingFlags, Binder*, Object[], CultureInfo*, Object[], Evidence*);

[JScript] public function CreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) : Object;

使用例

[Visual Basic, C#, C++] ignoreCase パラメータの使用方法を次の例に示します。

[Visual Basic, C#, C++] メモ   ここでは、CreateInstanceAndUnwrap のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。

 
Imports System
Imports System.Reflection

Module Test

   Sub Main()
      InstantiateINT32(False)    ' Failed!
      InstantiateINT32(True)    ' OK!
   End Sub 'Main

   Sub InstantiateINT32(ignoreCase As Boolean)
      Try
         Dim currentDomain As AppDomain = AppDomain.CurrentDomain
         Dim instance As Object = currentDomain.CreateInstanceAndUnwrap( _
            "mscorlib", _
            "SYSTEM.INT32", _
            ignoreCase, _
            BindingFlags.Default, _
            Nothing, _
            Nothing, _
            Nothing, _
            Nothing, _
            Nothing  _
         )
         Console.WriteLine(instance.GetType())
      Catch e As TypeLoadException
         Console.WriteLine(e.Message)
      End Try
   End Sub 'InstantiateINT32

End Module 'Test

[C#] 
using System;
using System.Reflection;

class Test {

   static void Main() {
      InstantiateINT32(false);     // Failed!
      InstantiateINT32(true);      // OK!
   }
   
   static void InstantiateINT32(bool ignoreCase) {
      try {
         AppDomain currentDomain = AppDomain.CurrentDomain;
         object instance = currentDomain.CreateInstanceAndUnwrap(
            "mscorlib",
            "SYSTEM.INT32",
            ignoreCase,
            BindingFlags.Default,
            null,
            null,
            null,
            null,
            null
         );
         Console.WriteLine(instance.GetType());
      } catch (TypeLoadException e) {
         Console.WriteLine(e.Message);
      }
   }
}

[C++] 
#using <mscorlib.dll>

using namespace System;
using namespace System::Reflection;

static void InstantiateINT32(bool ignoreCase) {
   try {
      AppDomain*  currentDomain = AppDomain::CurrentDomain;
      Object* instance = currentDomain->CreateInstanceAndUnwrap(S"mscorlib",
         S"SYSTEM.INT32",
         ignoreCase,
         BindingFlags::Default,
         0,
         0,
         0,
         0,
         0);
      Console::WriteLine(instance->GetType());
   } catch (TypeLoadException* e) {
      Console::WriteLine(e->Message);
   }
}

int main() {
   InstantiateINT32(false);     // Failed!
   InstantiateINT32(true);      // OK!
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

参照

AppDomain クラス | AppDomain メンバ | System 名前空間