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