Ncqrs.Eventing.Storage.PropertyBagConverter.CreateInstanceOfType C# (CSharp) Method

CreateInstanceOfType() private method

private CreateInstanceOfType ( Type targetType ) : object
targetType System.Type
return object
        private object CreateInstanceOfType(Type targetType)
        {
            var flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
            var noArgs = new object[0];
            var defaultCtor = targetType.GetConstructor(flags, null, Type.EmptyTypes, null);

            if(defaultCtor == null)
            {
                var msg = String.Format("Could not create object of target type {0} since it does " +
                        "the required default constructor. Add an at least protected " +
                        "parameterless constructor to this type.", targetType.FullName);

                throw new PropertyBagConvertionException(msg);
            }

            return defaultCtor.Invoke(noArgs);
        }