Beispiel #1
0
        public XmlSerializerHelper()
        {
            this.ns.Add("", "");

            KnownTypesProvider.LoadAllAssemblies = true;
            Type[] knownTypes = KnownTypesProvider.GetKnownTypes("Data", null, new Type[] { typeof(Exception) }).ToArray();
            this.xmlSerializer = new XmlSerializer(typeof(T), knownTypes);
        }
Beispiel #2
0
 public void RegisterCommand <TCommand, TResult>() where TCommand : ICommand
 {
     if (_isStarted)
     {
         throw new ApplicationException("Mosquito is already started. Operation is not permitted");
     }
     else
     {
         KnownTypesProvider.RegisterType <TCommand>();
         KnownTypesProvider.RegisterCallbackType <TResult>();
     }
 }
Beispiel #3
0
        public void RegisterCommandHandler <TCommand, THandler>() where TCommand : ICommand where THandler : ICommandHandler <TCommand>
        {
            if (Logger.IsDebugEnabled)
            {
                Logger.DebugFormat("Registering handler: {0} for command {1}", typeof(THandler).FullName, typeof(TCommand).FullName);
            }

            KnownTypesProvider.RegisterType <TCommand>();
            _container.Register(
                Component.For <ICommandHandler <TCommand> >().ImplementedBy <THandler>()
                );
        }
Beispiel #4
0
        /// <summary>
        /// Clones an object with the XmlSerializer
        /// </summary>
        /// <typeparam name="T">the object type</typeparam>
        /// <param name="obj">the object</param>
        /// <returns>the clone</returns>
        public static T Clone <T>(this T obj)
        {
            T result = default(T);

            using (Stream memStream = new MemoryStream())
            {
                XmlSerializer serializer = null;
                serializers.TryGetValue(typeof(T), out serializer);
                if (serializer == null)
                {
                    Type[] knownTypes = KnownTypesProvider.GetKnownTypes(null, excludeNameSpacePrefixes: new string[] { }).ToArray();
                    serializer = new XmlSerializer(typeof(T), knownTypes);
                    serializers.Add(typeof(T), serializer);
                }
                serializer.Serialize(memStream, obj);
                memStream.Seek(0, SeekOrigin.Begin);
                result = (T)serializer.Deserialize(memStream);
            }

            return(result);
        }
 private static IEnumerable <Type> GetKnownConditionValueTypes()
 {
     return((IEnumerable <Type>)KnownTypesProvider.GetKnownMetadataEnumTypes());
 }