Alba.Jaml.MSInternal.XamlContext.GetNoDotAttributeProperty C# (CSharp) Метод

GetNoDotAttributeProperty() публичный Метод

public GetNoDotAttributeProperty ( XamlType tagType, XamlPropertyName propName, string tagNamespace, string propUsageNamespace, bool tagIsRoot ) : System.Xaml.XamlMember
tagType XamlType
propName XamlPropertyName
tagNamespace string
propUsageNamespace string
tagIsRoot bool
Результат System.Xaml.XamlMember
        public XamlMember GetNoDotAttributeProperty (XamlType tagType, XamlPropertyName propName, string tagNamespace, string propUsageNamespace, bool tagIsRoot)
        {
            XamlMember xamlAttachableProperty = null;
            if ((propUsageNamespace == tagNamespace) || (((tagNamespace == null) && (propUsageNamespace != null)) && tagType.GetXamlNamespaces().Contains(propUsageNamespace))) {
                XamlType rootObjectType = tagIsRoot ? tagType : null;
                xamlAttachableProperty = this.GetXamlProperty(tagType, propName.Name, rootObjectType);
                if (xamlAttachableProperty == null) {
                    xamlAttachableProperty = this.GetXamlAttachableProperty(tagType, propName.Name);
                }
            }
            if ((xamlAttachableProperty == null) && (propUsageNamespace != null)) {
                XamlDirective xamlDirective = this.SchemaContext.GetXamlDirective(propUsageNamespace, propName.Name);
                if (xamlDirective != null) {
                    if ((xamlDirective.AllowedLocation & AllowedMemberLocations.Attribute) == AllowedMemberLocations.None) {
                        xamlDirective = new XamlDirective(propUsageNamespace, propName.Name);
                    }
                    xamlAttachableProperty = xamlDirective;
                }
            }
            if (xamlAttachableProperty != null) {
                return xamlAttachableProperty;
            }
            if (tagNamespace == propUsageNamespace) {
                return new XamlMember(propName.Name, tagType, false);
            }
            return new XamlDirective(propUsageNamespace, propName.Name);
        }