共用方式為


Activator.CreateInstanceFrom 方法

定義

使用具名元件檔和最符合指定參數的建構函式,建立指定名稱的類型實例。

多載

CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
已淘汰.

使用具名元件檔和最符合指定參數的建構函式,建立指定遠端網域中指定名稱之型別的實例。

CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
已淘汰.

使用具名元件檔和最符合指定參數的建構函式,建立指定名稱的類型實例。

CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

使用具名元件檔和最符合指定參數的建構函式,建立指定遠端網域中指定名稱之型別的實例。

CreateInstanceFrom(String, String, Object[])

使用具名元件檔案和無參數建構函式,建立指定名稱之型別的實例。

CreateInstanceFrom(AppDomain, String, String)

使用具名元件檔案和無參數建構函式,建立在指定遠端網域中指定名稱之型別的實例。

CreateInstanceFrom(String, String)

使用具名元件檔案和無參數建構函式,建立指定名稱之型別的實例。

CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

使用具名元件檔和最符合指定參數的建構函式,建立指定名稱的類型實例。

CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

警告

Methods which use Evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

使用具名元件檔和最符合指定參數的建構函式,建立指定遠端網域中指定名稱之型別的實例。

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(AppDomain ^ domain, System::String ^ assemblyFile, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
[System.Obsolete("Methods which use Evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
static member CreateInstanceFrom : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Methods which use Evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
[<System.Security.SecurityCritical>]
static member CreateInstanceFrom : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (domain As AppDomain, assemblyFile As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityAttributes As Evidence) As ObjectHandle

參數

domain
AppDomain

建立名為 typeName 類型的遠端網域。

assemblyFile
String

包含名為 typeName 類型之元件的檔名。

typeName
String

要建立 實例之型別的名稱。

ignoreCase
Boolean

true 指定搜尋 typeName 不區分大小寫;false 指定搜尋區分大小寫。

bindingAttr
BindingFlags

零個或多個位旗標的組合,會影響搜尋 typeName 建構函式。 如果 bindingAttr 為零,則會對公用建構函式進行區分大小寫的搜尋。

binder
Binder

物件,使用 bindingAttrargs 來搜尋和識別 typeName 建構函式。 如果 bindernull,則會使用預設系結器。

args
Object[]

以數位、順序和輸入要叫用之建構函式參數的自變數陣列。 如果 args 是空陣列或 null,則會叫用不採用任何參數的建構函式(無參數建構函式)。

culture
CultureInfo

針對 typeName 建構函式所宣告之 args 強制型別的文化特性特定資訊。 如果 culturenull,則會使用目前線程的 CultureInfo

activationAttributes
Object[]

一或多個可以參與啟用的屬性陣列。 這通常是包含單一 UrlAttribute 對象的陣列,指定啟動遠端物件所需的URL。

此參數與客戶端啟動的物件相關。 用戶端啟用是保留的舊版技術,可保持回溯相容性,但不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。

securityAttributes
Evidence

用來做出安全策略決策並授與程式代碼許可權的資訊。

傳回

必須解除包裝的句柄,才能存取新建立的物件,或 Nullable<T> 實例的 null

屬性

例外狀況

domaintypeNamenull

找不到相符的建構函式。

assemblyFile中找不到 typeName

找不到 assemblyFile

呼叫端沒有呼叫這個建構函式的許可權。

無法建立抽象類的實例,或使用晚期綁定機制叫用這個成員。

透過反映叫用的建構函式會擲回例外狀況。

呼叫端確實具有必要的 FileIOPermission

activationAttributes 不是空陣列,而且所建立的類型不會衍生自 MarshalByRefObject

assemblyFile 不是有效的元件。

-或-

Common Language Runtime (CLR) 2.0 版或更新版本目前已載入,且已針對比目前載入的版本更新版本的 CLR 編譯 assemblyFile。 請注意,.NET Framework 2.0、3.0 和 3.5 版都使用 CLR 2.0 版。

備註

當主機需要在具有限制安全性許可權的應用程式域中執行程式代碼時,請使用 CreateInstanceFrom

使用 ObjectHandle.Unwrap 方法來解除包裝傳回值。

如需其他可由叫用方法擲回的例外狀況的相關信息,請參閱 Assembly.LoadFromCreateInstance 方法的例外狀況一節。

適用於

CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

警告

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

使用具名元件檔和最符合指定參數的建構函式,建立指定名稱的類型實例。

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityInfo);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
static member CreateInstanceFrom : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member CreateInstanceFrom : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityInfo As Evidence) As ObjectHandle

參數

assemblyFile
String

包含名為 typeName 類型之元件的檔名。

typeName
String

要建立 實例之型別的名稱。

ignoreCase
Boolean

true 指定搜尋 typeName 不區分大小寫;false 指定搜尋區分大小寫。

bindingAttr
BindingFlags

零個或多個位旗標的組合,會影響搜尋 typeName 建構函式。 如果 bindingAttr 為零,則會對公用建構函式進行區分大小寫的搜尋。

binder
Binder

物件,使用 bindingAttrargs 來搜尋和識別 typeName 建構函式。 如果 bindernull,則會使用預設系結器。

args
Object[]

以數位、順序和輸入要叫用之建構函式參數的自變數陣列。 如果 args 是空陣列或 null,則會叫用不採用任何參數的建構函式(無參數建構函式)。

culture
CultureInfo

針對 typeName 建構函式所宣告之 args 強制型別的文化特性特定資訊。 如果 culturenull,則會使用目前線程的 CultureInfo

activationAttributes
Object[]

一或多個可以參與啟用的屬性陣列。 這通常是包含單一 UrlAttribute 對象的陣列,指定啟動遠端物件所需的URL。

此參數與客戶端啟動的物件相關。 用戶端啟用是保留的舊版技術,可保持回溯相容性,但不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。

securityInfo
Evidence

用來做出安全策略決策並授與程式代碼許可權的資訊。

傳回

必須解除包裝的句柄,才能存取新建立的物件,或 Nullable<T> 實例的 null

屬性

例外狀況

typeName null

找不到相符的建構函式。

assemblyFile中找不到 typeName

找不到 assemblyFile

呼叫端沒有呼叫這個建構函式的許可權。

無法建立抽象類的實例,或使用晚期綁定機制叫用這個成員。

透過反映叫用的建構函式會擲回例外狀況。

呼叫端沒有必要的 FileIOPermission

activationAttributes 不是空陣列,而且所建立的類型不會衍生自 MarshalByRefObject

assemblyFile 不是有效的元件。

-或-

Common Language Runtime (CLR) 2.0 版或更新版本目前已載入,且已針對比目前載入的版本更新版本的 CLR 編譯 assemblyFile。 請注意,.NET Framework 2.0、3.0 和 3.5 版都使用 CLR 2.0 版。

備註

使用 ObjectHandle.Unwrap 方法來解除包裝傳回值。

如需其他可由叫用方法擲回的例外狀況的相關信息,請參閱 Assembly.LoadFromCreateInstance 方法的例外狀況一節。

適用於

CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

使用具名元件檔和最符合指定參數的建構函式,建立指定遠端網域中指定名稱之型別的實例。

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(AppDomain ^ domain, System::String ^ assemblyFile, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
[<System.Security.SecurityCritical>]
static member CreateInstanceFrom : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (domain As AppDomain, assemblyFile As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As ObjectHandle

參數

domain
AppDomain

建立名為 typeName 類型的遠端網域。

assemblyFile
String

包含名為 typeName 類型之元件的檔名。

typeName
String

要建立 實例之型別的名稱。

ignoreCase
Boolean

true 指定搜尋 typeName 不區分大小寫;false 指定搜尋區分大小寫。

bindingAttr
BindingFlags

零個或多個位旗標的組合,會影響搜尋 typeName 建構函式。 如果 bindingAttr 為零,則會對公用建構函式進行區分大小寫的搜尋。

binder
Binder

物件,使用 bindingAttrargs 來搜尋和識別 typeName 建構函式。 如果 bindernull,則會使用預設系結器。

args
Object[]

以數位、順序和輸入要叫用之建構函式參數的自變數陣列。 如果 args 是空陣列或 null,則會叫用不採用任何參數的建構函式(無參數建構函式)。

culture
CultureInfo

針對 typeName 建構函式所宣告之 args 強制型別的文化特性特定資訊。 如果 culturenull,則會使用目前線程的 CultureInfo

activationAttributes
Object[]

一或多個可以參與啟用的屬性陣列。 這通常是包含單一 UrlAttribute 對象的陣列,指定啟動遠端物件所需的URL。

此參數與客戶端啟動的物件相關。 用戶端啟用是保留的舊版技術,可保持回溯相容性,但不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。

傳回

必須解除包裝的句柄,才能存取新建立的物件,或 Nullable<T> 實例的 null

屬性

例外狀況

domaintypeNamenull

找不到相符的建構函式。

assemblyFile中找不到 typeName

找不到 assemblyFile

呼叫端沒有呼叫這個建構函式的許可權。

無法建立抽象類的實例,或使用晚期綁定機制叫用這個成員。

透過反映叫用的建構函式會擲回例外狀況。

呼叫端確實具有必要的 FileIOPermission

activationAttributes 不是空陣列,而且所建立的類型不會衍生自 MarshalByRefObject

assemblyFile 不是有效的元件。

-或-

assemblyFile 已針對較目前載入的版本更新的 Common Language Runtime 版本進行編譯。

備註

當主機需要在具有限制安全性許可權的應用程式域中執行程式代碼時,請使用 CreateInstanceFrom

使用 ObjectHandle.Unwrap 方法來解除包裝傳回值。

如需可由叫用方法擲回之其他例外狀況的相關信息,請參閱 Assembly.LoadFromCreateInstance 方法的例外狀況區段。

適用於

CreateInstanceFrom(String, String, Object[])

來源:
Activator.cs
來源:
Activator.cs
來源:
Activator.cs

使用具名元件檔案和無參數建構函式,建立指定名稱之型別的實例。

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public static System.Runtime.Remoting.ObjectHandle? CreateInstanceFrom (string assemblyFile, string typeName, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, object[] activationAttributes);
static member CreateInstanceFrom : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String, activationAttributes As Object()) As ObjectHandle

參數

assemblyFile
String

包含名為 typeName 類型之元件的檔名。

typeName
String

要建立 實例之型別的名稱。

activationAttributes
Object[]

一或多個可以參與啟用的屬性陣列。 這通常是包含單一 UrlAttribute 對象的陣列,指定啟動遠端物件所需的URL。

此參數與客戶端啟動的物件相關。 用戶端啟用是保留的舊版技術,可保持回溯相容性,但不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。

傳回

必須解除包裝的句柄,才能存取新建立的物件,或 Nullable<T> 實例的 null

例外狀況

typeName null

找不到相符的公用建構函式。

assemblyFile中找不到 typeName

找不到 assemblyFile

呼叫端沒有呼叫這個建構函式的許可權。

無法建立抽象類的實例,或使用晚期綁定機制叫用這個成員。

透過反映叫用的建構函式會擲回例外狀況。

activationAttributes 不是空陣列,而且所建立的類型不會衍生自 MarshalByRefObject

呼叫端確實具有必要的 FileIOPermission

assemblyFile 不是有效的元件。

-或-

Common Language Runtime (CLR) 2.0 版或更新版本目前已載入,且已針對比目前載入的版本更新版本的 CLR 編譯 assemblyFile。 請注意,.NET Framework 2.0、3.0 和 3.5 版都使用 CLR 2.0 版。

備註

使用 ObjectHandle.Unwrap 方法來解除包裝傳回值。

如需其他可由叫用方法擲回的例外狀況的相關信息,請參閱 Assembly.LoadFromCreateInstance 方法的例外狀況一節。

適用於

CreateInstanceFrom(AppDomain, String, String)

使用具名元件檔案和無參數建構函式,建立在指定遠端網域中指定名稱之型別的實例。

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(AppDomain ^ domain, System::String ^ assemblyFile, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (AppDomain domain, string assemblyFile, string typeName);
static member CreateInstanceFrom : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
[<System.Security.SecurityCritical>]
static member CreateInstanceFrom : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (domain As AppDomain, assemblyFile As String, typeName As String) As ObjectHandle

參數

domain
AppDomain

建立名為 typeName 類型的遠端網域。

assemblyFile
String

包含名為 typeName 類型之元件的檔名。

typeName
String

要建立 實例之型別的名稱。

傳回

必須解除包裝的句柄,才能存取新建立的物件,或 Nullable<T> 實例的 null

屬性

例外狀況

domaintypeNamenull

找不到相符的公用建構函式。

assemblyFile中找不到 typeName

找不到 assemblyFile

呼叫端沒有呼叫這個建構函式的許可權。

無法建立抽象類的實例,或使用晚期綁定機制叫用這個成員。

透過反映叫用的建構函式會擲回例外狀況。

呼叫端確實具有必要的 FileIOPermission

assemblyFile 不是有效的元件。

-或-

Common Language Runtime (CLR) 2.0 版或更新版本目前已載入,且已針對比目前載入的版本更新版本的 CLR 編譯 assemblyFile。 請注意,.NET Framework 2.0、3.0 和 3.5 版都使用 CLR 2.0 版。

備註

當主機需要在具有限制安全性許可權的應用程式域中執行程式代碼時,請使用 CreateInstanceFrom

使用 ObjectHandle.Unwrap 方法來解除包裝傳回值。

如需其他可由叫用方法擲回的例外狀況的相關信息,請參閱 Assembly.LoadFromCreateInstance 方法的例外狀況一節。

適用於

CreateInstanceFrom(String, String)

來源:
Activator.cs
來源:
Activator.cs
來源:
Activator.cs

使用具名元件檔案和無參數建構函式,建立指定名稱之型別的實例。

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle? CreateInstanceFrom (string assemblyFile, string typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName);
static member CreateInstanceFrom : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String) As ObjectHandle

參數

assemblyFile
String

包含名為 typeName 類型之元件的檔名。

typeName
String

要建立 實例之型別的名稱。

傳回

必須解除包裝的句柄,才能存取新建立的物件,或 Nullable<T> 實例的 null

例外狀況

typeName null

找不到相符的公用建構函式。

assemblyFile中找不到 typeName

找不到 assemblyFile

呼叫端沒有呼叫這個建構函式的許可權。

無法建立抽象類的實例,或使用晚期綁定機制叫用這個成員。

透過反映叫用的建構函式會擲回例外狀況。

呼叫端確實具有必要的 FileIOPermission

assemblyFile 不是有效的元件。

-或-

Common Language Runtime (CLR) 2.0 版或更新版本目前已載入,且已針對比目前載入的版本更新版本的 CLR 編譯 assemblyFile。 請注意,.NET Framework 2.0、3.0 和 3.5 版都使用 CLR 2.0 版。

範例

下列程式代碼範例示範如何呼叫 CreateInstanceFrom 方法。 此程式代碼範例是提供給 Activator 類別之較大範例的一部分。

// Create an instance of the SomeType class that is defined in this 
// assembly.
System::Runtime::Remoting::ObjectHandle^ oh = 
    Activator::CreateInstanceFrom(Assembly::GetEntryAssembly()->CodeBase, 
                                  SomeType::typeid->FullName);

// Call an instance method defined by the SomeType type using this object.
SomeType^ st = (SomeType^) oh->Unwrap();

st->DoSomething(5);
// Create an instance of the SomeType class that is defined in this
// assembly.
System.Runtime.Remoting.ObjectHandle oh =
    Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase,
                                 typeof(SomeType).FullName);

// Call an instance method defined by the SomeType type using this object.
SomeType st = (SomeType) oh.Unwrap();

st.DoSomething(5);
// Create an instance of the SomeType class that is defined in this assembly.
let oh = 
    Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().Location, typeof<SomeType>.FullName)

// Call an instance method defined by the SomeType type using this object.
let st = oh.Unwrap() :?> SomeType

st.DoSomething 5
' Create an instance of the SomeType class that is defined in this assembly.
Dim oh As System.Runtime.Remoting.ObjectHandle = _
    Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase, _
                                 GetType(SomeType).FullName)

' Call an instance method defined by the SomeType type using this object.
Dim st As SomeType = CType(oh.Unwrap(), SomeType)

st.DoSomething(5)

備註

使用 ObjectHandle.Unwrap 方法來解除包裝傳回值。

如需其他可由叫用方法擲回的例外狀況的相關信息,請參閱 Assembly.LoadFromCreateInstance 方法的例外狀況一節。

適用於

CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

來源:
Activator.cs
來源:
Activator.cs
來源:
Activator.cs

使用具名元件檔和最符合指定參數的建構函式,建立指定名稱的類型實例。

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstanceFrom(System::String ^ assemblyFile, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
public static System.Runtime.Remoting.ObjectHandle? CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstanceFrom : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstanceFrom (assemblyFile As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As ObjectHandle

參數

assemblyFile
String

包含名為 typeName 類型之元件的檔名。

typeName
String

要建立 實例之型別的名稱。

ignoreCase
Boolean

true 指定搜尋 typeName 不區分大小寫;false 指定搜尋區分大小寫。

bindingAttr
BindingFlags

零個或多個位旗標的組合,會影響搜尋 typeName 建構函式。 如果 bindingAttr 為零,則會對公用建構函式進行區分大小寫的搜尋。

binder
Binder

物件,使用 bindingAttrargs 來搜尋和識別 typeName 建構函式。 如果 bindernull,則會使用預設系結器。

args
Object[]

以數位、順序和輸入要叫用之建構函式參數的自變數陣列。 如果 args 是空陣列或 null,則會叫用不採用任何參數的建構函式(無參數建構函式)。

culture
CultureInfo

針對 typeName 建構函式所宣告之 args 強制型別的文化特性特定資訊。 如果 culturenull,則會使用目前線程的 CultureInfo

activationAttributes
Object[]

一或多個可以參與啟用的屬性陣列。 這通常是包含單一 UrlAttribute 對象的陣列,指定啟動遠端物件所需的URL。

此參數與客戶端啟動的物件相關。 用戶端啟用是保留的舊版技術,可保持回溯相容性,但不建議用於新的開發。 分散式應用程式應該改用 Windows Communication Foundation。

傳回

必須解除包裝的句柄,才能存取新建立的物件,或 Nullable<T> 實例的 null

例外狀況

typeName null

找不到相符的建構函式。

assemblyFile中找不到 typeName

找不到 assemblyFile

呼叫端沒有呼叫這個建構函式的許可權。

無法建立抽象類的實例,或使用晚期綁定機制叫用這個成員。

透過反映叫用的建構函式會擲回例外狀況。

呼叫端沒有必要的 FileIOPermission

activationAttributes 不是空陣列,而且所建立的類型不會衍生自 MarshalByRefObject

assemblyFile 不是有效的元件。

-或-

Common Language Runtime (CLR) 2.0 版或更新版本目前已載入,且已針對比目前載入的版本更新版本的 CLR 編譯 assemblyFile。 請注意,.NET Framework 2.0、3.0 和 3.5 版都使用 CLR 2.0 版。

備註

使用 ObjectHandle.Unwrap 方法來解除包裝傳回值。

如需其他可由叫用方法擲回的例外狀況的相關信息,請參閱 Assembly.LoadFromCreateInstance 方法的例外狀況一節。

適用於