Estoy tratando de nuevo de una instancia de LocalCommand que es una clase privada de System.Data.SqlClient.SqlCommandSet. Parece que soy capaz de captar la información de tipo de bien:Activator.CreateInstance con la clase sellada privada
Assembly sysData = Assembly.Load("System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
localCmdType = sysData.GetType("System.Data.SqlClient.SqlCommandSet+LocalCommand");
pero Activator.CreateInstance produce una excepción cuando intento crear una instancia:
object item = Activator.CreateInstance(localCmdType,
new object[] { commandText, parameters, num7, commandType });
System.MissingMethodException: Constructor del tipo 'Sistema .Data.SqlClient.SqlCommandSet + LocalCommand 'no encontrado.
Los argumentos de constructor coinciden con la firma que veo en el reflector. ¿Es nueva una clase privada con un ctor interno compatible con una sobrecarga CreateInstance diferente o qué?
Los documentos dicen CreateInstance sólo llama constructores públicos antes 2.0sp1. Después de eso, hay un montón de permisos que son necesarios. –
Buena llamada en GetConstructor(), que funciona. Me resulta extraño teniendo en cuenta que la llamada a GetConstructor es muy similar a una de las sobrecargas Activator.CreateInstance(). –