mardi 18 août 2015

System.Reflection.TargetInvocationException with MethodInfo.Invoke

I am trying to replicate a functionality with reflection but end up getting createFormatMethod.Invoke(typDbFormatClass, null)' threw an exception of type 'System.Reflection.TargetInvocationException' object {System.Reflection.TargetInvocationException}

I am trying to access a static method of abstract class here. Below is the direct reference code that works perfectly .

Binit.Core.Database.DbFormat format;
           format = Binit.Core.Database.DbFormat.Create();
           format.Dimension =    DbDoubleDimension.GetDimension((DbDimension)Enum.Parse(typeof(DbDimension), dimension));
           format.Units = DbDoubleUnits.GetUnits((DbUnits)Enum.Parse(typeof(DbUnits), destinationUnit));

Reflection Code which fails and shows targetinvocationexception

Assembly CoreDatabaseAssembly = Assembly.LoadFrom(Path.Combine(APath, @"Binit.Core.Database.dll"));
            Type typDbFormatClass = CoreDatabaseAssembly.GetType("Binit.Core.Database.DbFormat");

            MethodInfo createFormatMethod = typDbFormatClass.GetMethod("Create", BindingFlags.Static | BindingFlags.Public, null, new Type[] { }, null);
object objDbFormat = createFormatMethod.Invoke(typDbFormatClass, null);

Can someone help me understand what i could be doing wrong with invoke method





Aucun commentaire:

Enregistrer un commentaire