protected object GetADONETProviderObject(string sAssembly, string sClass, object[] oArgs)
{
if(sAssembly == null || sAssembly.Trim().Length == 0)
throw(new Exception("Invalid provider assembly name"));
if(sClass == null || sClass.Trim().Length == 0)
throw(new Exception("Invalid provider connection class name"));
//Assembly oSrc = Assembly.LoadWithPartialName(sAssembly);
Assembly oSrc = Assembly.Load(sAssembly);
if(oArgs == null)
{
return oSrc.CreateInstance(sClass,true);
}
else
{
Type oType = oSrc.GetType(sClass,true,true);
Type[] arTypes = new Type[oArgs.Length];
for(int i=0; i < oArgs.Length; i++)
{
arTypes[i] = oArgs[0].GetType();
}
ConstructorInfo oConstr = oType.GetConstructor(arTypes);
return oConstr.Invoke(oArgs);
}
}