private void CreateConstructor(Type type) { ConstructorInfo ctor = type.GetConstructor(new Type[] { }); NewExpression newExp = Expression.New(ctor); _constructor = (IUrlResolverConstructor)Expression.Lambda(typeof(IUrlResolverConstructor), newExp).Compile(); }
protected override void PostDeserialize() { base.PostDeserialize(); UrlResolverType = Type.GetType(TypeName, true, true); if (!typeof(IUrlResolver).IsAssignableFrom(UrlResolverType)) throw new ConfigurationErrorsException("The type '" + TypeName + "' does not implement the interface IUrlResolver."); ConstructorInfo ctor = UrlResolverType.GetConstructor(new Type[] { }); NewExpression newExp = Expression.New(ctor); _Constructor = (IUrlResolverConstructor)Expression.Lambda(typeof(IUrlResolverConstructor), newExp).Compile(); }
protected override void PostDeserialize() { base.PostDeserialize(); UrlResolverType = Type.GetType(TypeName, true, true); if (!typeof(IUrlResolver).IsAssignableFrom(UrlResolverType)) { throw new ConfigurationErrorsException("The type '" + TypeName + "' does not implement the interface IUrlResolver."); } ConstructorInfo ctor = UrlResolverType.GetConstructor(new Type[] { }); NewExpression newExp = Expression.New(ctor); _Constructor = (IUrlResolverConstructor)Expression.Lambda(typeof(IUrlResolverConstructor), newExp).Compile(); }