예제 #1
0
        private static void InitComponentPartProperty <TOwner>(UIComponent <TOwner> parentComponent, PropertyInfo property)
            where TOwner : PageObject <TOwner>
        {
            UIComponentPart <TOwner> componentPart = (UIComponentPart <TOwner>)ActivatorEx.CreateInstance(property.PropertyType);

            componentPart.Component         = parentComponent;
            componentPart.ComponentPartName = property.Name.ToString(TermCase.MidSentence);

            if (componentPart is ISupportsMetadata supportsMetadata)
            {
                supportsMetadata.Metadata = CreateStaticControlMetadata(parentComponent, property, supportsMetadata.ComponentType);

                string nameFromMetadata = GetControlNameFromNameAttribute(supportsMetadata.Metadata);

                if (nameFromMetadata != null)
                {
                    componentPart.ComponentPartName = nameFromMetadata;
                }
            }

            if (componentPart is IClearsCache cacheClearableComponentPart)
            {
                parentComponent.CacheClearableComponentParts.Add(cacheClearableComponentPart);
            }

            property.SetValue(parentComponent, componentPart, null);
        }
예제 #2
0
        private static void InitComponentPartProperty <TOwner>(UIComponent <TOwner> parentComponent, PropertyInfo property)
            where TOwner : PageObject <TOwner>
        {
            UIComponentPart <TOwner> componentPart = (UIComponentPart <TOwner>)ActivatorEx.CreateInstance(property.PropertyType);

            componentPart.Component = parentComponent;
            property.SetValue(parentComponent, componentPart, null);
        }
예제 #3
0
        private static void InitComponentPartProperty <TOwner>(UIComponent <TOwner> parentComponent, PropertyInfo property)
            where TOwner : PageObject <TOwner>
        {
            UIComponentPart <TOwner> componentPart = (UIComponentPart <TOwner>)ActivatorEx.CreateInstance(property.PropertyType);

            componentPart.Component         = parentComponent;
            componentPart.ComponentPartName = property.Name.ToString(TermCase.MidSentence);

            if (componentPart is ISupportsMetadata supportsMetadata)
            {
                supportsMetadata.Metadata = CreateStaticControlMetadata(parentComponent, property, supportsMetadata.ComponentType);
            }

            property.SetValue(parentComponent, componentPart, null);
        }
예제 #4
0
        private static void InitComponentPartProperty <TOwner>(UIComponent <TOwner> parentComponent, PropertyInfo property)
            where TOwner : PageObject <TOwner>
        {
            UIComponentPart <TOwner> componentPart = (UIComponentPart <TOwner>)ActivatorEx.CreateInstance(property.PropertyType);

            componentPart.Component = parentComponent;

            ISupportsDeclaredAttributes supportsDeclaredAttributes = componentPart as ISupportsDeclaredAttributes;

            if (supportsDeclaredAttributes != null)
            {
                supportsDeclaredAttributes.DeclaredAttributes.AddRange(GetPropertyAttributes(property));
            }

            property.SetValue(parentComponent, componentPart, null);
        }