diff --git a/mocha-dotnet/src/lib/Mocha.Core/Oop/ConcreteInstanceWrapper.cs b/mocha-dotnet/src/lib/Mocha.Core/Oop/ConcreteInstanceWrapper.cs index a25597a..33201b6 100644 --- a/mocha-dotnet/src/lib/Mocha.Core/Oop/ConcreteInstanceWrapper.cs +++ b/mocha-dotnet/src/lib/Mocha.Core/Oop/ConcreteInstanceWrapper.cs @@ -24,11 +24,22 @@ public abstract class ConcreteInstanceWrapper : InstanceWrapper { if (methodType.IsAbstract) continue; - - ConcreteInstanceWrapper m = (ConcreteInstanceWrapper)methodType.Assembly.CreateInstance(methodType.FullName, false, System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance, null, new object[] { methodInstance }, null, null); - if (m.ClassId == oms.GetGlobalIdentifier(parentClass)) + + ConcreteInstanceWrapper m = null; + try { - return m; + m = (ConcreteInstanceWrapper)methodType.Assembly.CreateInstance(methodType.FullName, false, System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance, null, new object[] { methodInstance }, null, null); + } + catch (Exception ex) + { + + } + if (m != null) + { + if (m.ClassId == oms.GetGlobalIdentifier(parentClass)) + { + return m; + } } } return null;