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); }
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>(); } }
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>() ); }
/// <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()); }