private void OnSetKeyValue(ExtendedPropertyInfo extendedProperty, object extendee, object value)
 {
     if (extendee != null && value != null && !this.keylookupDictionary.Contains(value))
     {
         this.keylookupDictionary.Add(value, extendee);
     }
 }
Exemple #2
0
        private object OnGetKeyValue(ExtendedPropertyInfo extendedProperty, object extendee)
        {
            DictionaryEntry?nullable = null;

            if (extendedProperty.SerializationManager.WorkflowMarkupStack[typeof(DictionaryEntry)] != null)
            {
                nullable = new DictionaryEntry?((DictionaryEntry)extendedProperty.SerializationManager.WorkflowMarkupStack[typeof(DictionaryEntry)]);
            }
            if (nullable.HasValue && (nullable.Value.Value == extendee))
            {
                return(nullable.Value.Key);
            }
            return(null);
        }
 internal override ExtendedPropertyInfo[] GetExtendedProperties(WorkflowMarkupSerializationManager manager, object extendee)
 {
     List<ExtendedPropertyInfo> list = new List<ExtendedPropertyInfo>();
     DictionaryEntry? nullable = null;
     if (manager.WorkflowMarkupStack[typeof(DictionaryEntry)] != null)
     {
         nullable = new DictionaryEntry?((DictionaryEntry) manager.WorkflowMarkupStack[typeof(DictionaryEntry)]);
     }
     if (this.deserializingDictionary || (nullable.HasValue && (nullable.Value.Value == extendee)))
     {
         ExtendedPropertyInfo item = new ExtendedPropertyInfo(typeof(DictionaryEntry).GetProperty("Key", BindingFlags.Public | BindingFlags.Instance), new GetValueHandler(this.OnGetKeyValue), new SetValueHandler(this.OnSetKeyValue), new GetQualifiedNameHandler(this.OnGetXmlQualifiedName), manager);
         list.Add(item);
     }
     return list.ToArray();
 }
Exemple #4
0
        internal override ExtendedPropertyInfo[] GetExtendedProperties(WorkflowMarkupSerializationManager manager, object extendee)
        {
            List <ExtendedPropertyInfo> list     = new List <ExtendedPropertyInfo>();
            DictionaryEntry?            nullable = null;

            if (manager.WorkflowMarkupStack[typeof(DictionaryEntry)] != null)
            {
                nullable = new DictionaryEntry?((DictionaryEntry)manager.WorkflowMarkupStack[typeof(DictionaryEntry)]);
            }
            if (this.deserializingDictionary || (nullable.HasValue && (nullable.Value.Value == extendee)))
            {
                ExtendedPropertyInfo item = new ExtendedPropertyInfo(typeof(DictionaryEntry).GetProperty("Key", BindingFlags.Public | BindingFlags.Instance), new GetValueHandler(this.OnGetKeyValue), new SetValueHandler(this.OnSetKeyValue), new GetQualifiedNameHandler(this.OnGetXmlQualifiedName), manager);
                list.Add(item);
            }
            return(list.ToArray());
        }
 internal static bool IsExtendedProperty(WorkflowMarkupSerializationManager manager, IList <PropertyInfo> propInfos, XmlQualifiedName xmlQualifiedName)
 {
     foreach (PropertyInfo info in propInfos)
     {
         ExtendedPropertyInfo info2 = info as ExtendedPropertyInfo;
         if (info2 != null)
         {
             string           prefix = string.Empty;
             XmlQualifiedName name   = info2.GetXmlQualifiedName(manager, out prefix);
             if (name.Name.Equals(xmlQualifiedName.Name, StringComparison.Ordinal) && name.Namespace.Equals(xmlQualifiedName.Namespace, StringComparison.Ordinal))
             {
                 return(true);
             }
         }
     }
     return(false);
 }
        private object OnGetKeyValue(ExtendedPropertyInfo extendedProperty, object extendee)
        {
            DictionaryEntry?entry = null;

            if (extendedProperty.SerializationManager.WorkflowMarkupStack[typeof(DictionaryEntry)] != null)
            {
                entry = (DictionaryEntry)extendedProperty.SerializationManager.WorkflowMarkupStack[typeof(DictionaryEntry)];
            }
            else
            {
                Debug.Assert(false, "Dictionary Entry not found in the WorkflowMarkupStack");
            }

            if (entry.HasValue && entry.Value.Value == extendee)
            {
                return(entry.Value.Key);
            }
            return(null);
        }
        internal static bool IsExtendedProperty(WorkflowMarkupSerializationManager manager, IList <PropertyInfo> propInfos, XmlQualifiedName xmlQualifiedName)
        {
            foreach (PropertyInfo propInfo in propInfos)
            {
                ExtendedPropertyInfo extendedProperty = propInfo as ExtendedPropertyInfo;
                if (extendedProperty == null)
                {
                    continue;
                }

                string           prefix = String.Empty;
                XmlQualifiedName qualifiedPropertyName = extendedProperty.GetXmlQualifiedName(manager, out prefix);
                if (qualifiedPropertyName.Name.Equals(xmlQualifiedName.Name, StringComparison.Ordinal) &&
                    qualifiedPropertyName.Namespace.Equals(xmlQualifiedName.Namespace, StringComparison.Ordinal))
                {
                    return(true);
                }
            }

            return(false);
        }
        internal override ExtendedPropertyInfo[] GetExtendedProperties(WorkflowMarkupSerializationManager manager, object extendee)
        {
            List <ExtendedPropertyInfo> extendedProperties = new List <ExtendedPropertyInfo>();
            DictionaryEntry?            entry = null;

            if (manager.WorkflowMarkupStack[typeof(DictionaryEntry)] != null)
            {
                entry = (DictionaryEntry)manager.WorkflowMarkupStack[typeof(DictionaryEntry)];
            }
            if (this.deserializingDictionary || (entry.HasValue && entry.Value.Value == extendee))
            {
                ExtendedPropertyInfo extendedProperty =
                    new ExtendedPropertyInfo(typeof(DictionaryEntry).GetProperty("Key", BindingFlags.Public | BindingFlags.Instance),
                                             new GetValueHandler(OnGetKeyValue),
                                             new SetValueHandler(OnSetKeyValue),
                                             new GetQualifiedNameHandler(OnGetXmlQualifiedName), manager);

                extendedProperties.Add(extendedProperty);
            }
            return(extendedProperties.ToArray());
        }
 private object OnGetRuntimeNameValue(ExtendedPropertyInfo extendedProperty, object extendee)
 {
     return extendedProperty.RealPropertyInfo.GetValue(extendee, null);
 }
 private XmlQualifiedName OnGetXmlQualifiedName(ExtendedPropertyInfo extendedProperty, WorkflowMarkupSerializationManager manager, out string prefix)
 {
     prefix = "x";
     return new XmlQualifiedName(extendedProperty.Name, "http://schemas.microsoft.com/winfx/2006/xaml");
 }
 private void OnSetKeyValue(ExtendedPropertyInfo extendedProperty, object extendee, object value)
 {
     if (((extendee != null) && (value != null)) && !this.keylookupDictionary.Contains(value))
     {
         this.keylookupDictionary.Add(value, extendee);
     }
 }
        internal override ExtendedPropertyInfo[] GetExtendedProperties(WorkflowMarkupSerializationManager manager, object extendee)
        {
            List<ExtendedPropertyInfo> extendedProperties = new List<ExtendedPropertyInfo>();
            DictionaryEntry? entry = null;
            if (manager.WorkflowMarkupStack[typeof(DictionaryEntry)] != null)
                entry = (DictionaryEntry)manager.WorkflowMarkupStack[typeof(DictionaryEntry)];
            if (this.deserializingDictionary || (entry.HasValue && entry.Value.Value == extendee))
            {
                ExtendedPropertyInfo extendedProperty =
                    new ExtendedPropertyInfo(typeof(DictionaryEntry).GetProperty("Key", BindingFlags.Public | BindingFlags.Instance),
                    new GetValueHandler(OnGetKeyValue),
                    new SetValueHandler(OnSetKeyValue),
                    new GetQualifiedNameHandler(OnGetXmlQualifiedName), manager);

                extendedProperties.Add(extendedProperty);
            }
            return extendedProperties.ToArray();
        }
 private object OnGetKeyValue(ExtendedPropertyInfo extendedProperty, object extendee)
 {
     DictionaryEntry? nullable = null;
     if (extendedProperty.SerializationManager.WorkflowMarkupStack[typeof(DictionaryEntry)] != null)
     {
         nullable = new DictionaryEntry?((DictionaryEntry) extendedProperty.SerializationManager.WorkflowMarkupStack[typeof(DictionaryEntry)]);
     }
     if (nullable.HasValue && (nullable.Value.Value == extendee))
     {
         return nullable.Value.Key;
     }
     return null;
 }
 private XmlQualifiedName OnGetXmlQualifiedName(ExtendedPropertyInfo extendedProperty, WorkflowMarkupSerializationManager manager, out string prefix)
 {
     prefix = StandardXomlKeys.Definitions_XmlNs_Prefix;
     return(new XmlQualifiedName(extendedProperty.Name, StandardXomlKeys.Definitions_XmlNs));
 }
        private object OnGetKeyValue(ExtendedPropertyInfo extendedProperty, object extendee)
        {
            DictionaryEntry? entry = null;
            if (extendedProperty.SerializationManager.WorkflowMarkupStack[typeof(DictionaryEntry)] != null)
                entry = (DictionaryEntry)extendedProperty.SerializationManager.WorkflowMarkupStack[typeof(DictionaryEntry)];
            else
                Debug.Assert(false, "Dictionary Entry not found in the WorkflowMarkupStack");

            if (entry.HasValue && entry.Value.Value == extendee)
                return entry.Value.Key;
            return null;
        }
 private XmlQualifiedName OnGetXmlQualifiedName(ExtendedPropertyInfo extendedProperty, WorkflowMarkupSerializationManager manager, out string prefix)
 {
     prefix = StandardXomlKeys.Definitions_XmlNs_Prefix;
     return new XmlQualifiedName(extendedProperty.Name, StandardXomlKeys.Definitions_XmlNs);
 }
 private void OnSetRuntimeNameValue(ExtendedPropertyInfo extendedProperty, object extendee, object value)
 {
     if (extendee != null && value != null)
         extendedProperty.RealPropertyInfo.SetValue(extendee, value, null);
 }
Exemple #18
0
 private XmlQualifiedName OnGetXmlQualifiedName(ExtendedPropertyInfo extendedProperty, WorkflowMarkupSerializationManager manager, out string prefix)
 {
     prefix = "x";
     return(new XmlQualifiedName(extendedProperty.Name, "http://schemas.microsoft.com/winfx/2006/xaml"));
 }