Avec la RC de WF4, la méthode DeserializeString du WorkflowDesigner n’existe plus. Snif…
Maintenant il ne se serra donc plus possible d’écrire ceci :
C#
/// <summary> /// Retourne le workflow représenté par la string contenant le xaml /// </summary> /// <param name="xaml"></param> /// <returns></returns> private Activity GetWorkflow(String xaml) { if (!String.IsNullOrEmpty(xaml) & this.m_WorkflowDesigner != null) { return this.m_WorkflowDesigner.DeserializeString(xaml) as Activity; } return null; }
Pour désérialiser une chaine en Xaml il faudra donc se tourner vers une méthode come celle qui suit :
C#
/// <summary> /// Retourne le workflow représenté par la string contenant le xaml /// </summary> /// <param name="xaml"></param> /// <returns></returns> private static Activity GetWorkflow(String xaml) { if (!String.IsNullOrEmpty(xaml)) { StringReader stringReader = new StringReader(xaml); XmlReader xmlReader = XmlReader.Create(stringReader); try { // Création du workflow return ActivityXamlServices.Load(xmlReader); } catch { return null; } } return null; }