2010-06-28 17 views

risposta

2

Prova questa sovraccarico:

public Object CreateInstance (
    string typeName, 
    bool ignoreCase, 
    BindingFlags bindingAttr, 
    Binder binder, 
    Object[] args, 
    CultureInfo culture, 
    Object[] activationAttributes 
) 

Ha un args paramter.

+1

Qual è l'ultimo parametro circa? activationAttributes ?? – Lisa

+0

L'ultimo parametro è utile solo per gli scenari remoti. Ad esempio, è possibile specificare un UrlAttribute (http://msdn.microsoft.com/en-us/library/system.runtime.remoting.activation.urlattribute.aspx). –

18

Activator.CreateInstance è un API molto più amichevole di quanto Assembly.CreateInstance da utilizzare per questo tipo di cose:

var type = Type.GetType("MyNamespace.MyClass, MyAssembly"); 
Activator.CreateInstance(type, constructorParam1, constructorParam2); 
+0

È necessario avvolgere i parametri in un oggetto []. 'Activator.CreateInstance (type, new [] {constructorParam1, constructorParam2});' –

+0

@Mark, no no. È un metodo varargs. –

+0

@Mark H - http://msdn.microsoft.com/en-us/library/w5zay9db(VS.71).aspx - 'Function (params object [])' è una funzione che accetta 0 o più argomenti. –

Problemi correlati