internal static bool TryGetConstructor(RuntimeType t, RuntimeType[] ctorParams, out RuntimeConstructorInfo ctorInfo) { Contract.Assert(t != null, "[GetConstructor]t!=null"); Contract.Assert(t is RuntimeType, "[GetConstructor]t is RuntimeType"); ctorInfo = t.RemotingCache[CacheObjType.ConstructorInfo] as RuntimeConstructorInfo; if (ctorInfo != null) { return true; } ctorInfo = t.GetConstructor( BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, CallingConventions.Any, ctorParams, null) as RuntimeConstructorInfo; if (ctorInfo != null) { t.RemotingCache[CacheObjType.ConstructorInfo] = ctorInfo; return true; } return false; }