private static IBaseElement GetInstancePage(object parent, FieldInfo field, Type type, Type parentType) { var instance = (IBaseElement) field.GetValue(parent) ?? (IBaseElement) Activator.CreateInstance(type); var pageAttribute = field.GetAttribute<PageAttribute>(); pageAttribute?.FillPage((WebPage) instance, parentType); return instance; }
private string GetText(FieldInfo field, ElementRequest req) { var descriptor = field.GetAttribute<DescriptionAttribute>(); if (descriptor != null) { return descriptor.Description; } return LabelingConvention.GetLabelText(field.Name); }
internal static RuntimeSerializeFieldAttribute GetRSFieldAttribute(FieldInfo _field) { return _field.GetAttribute<RuntimeSerializeFieldAttribute>(false); }
/// <summary> /// Initializes a new instance of the <see cref="InspectedProperty"/> class. /// </summary> /// <param name="type"> /// The inspected type. /// </param> /// <param name="fieldInfo"> /// The field info. /// </param> /// <exception cref="ArgumentNullException"> /// If <paramref name="type"/> is null. /// </exception> /// <exception cref="ArgumentNullException"> /// If <paramref name="fieldInfo"/> is null. /// </exception> /// <exception cref="ArgumentException"> /// If <paramref name="fieldInfo"/> 's declaring type has not been set. /// </exception> internal InspectedProperty(Type type, FieldInfo fieldInfo) { if (type == null) { throw new ArgumentNullException("type"); } if (fieldInfo == null) { throw new ArgumentNullException("fieldInfo"); } if (fieldInfo.DeclaringType == null) { throw new ArgumentException("fieldInfo declaring type has not been set"); } this.Name = fieldInfo.SerializableName(); this.InspectedType = type; this.PropertyType = fieldInfo.FieldType; this.IsNotNullableValueType = this.PropertyType.IsNotNullableValueType(); if (fieldInfo.DeclaringType != fieldInfo.ReflectedType) { fieldInfo = fieldInfo.DeclaringType.GetField(fieldInfo.Name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); } try { this.Getter = DelegateFactory.CreateGetter(fieldInfo); this.Setter = DelegateFactory.CreateSetter(fieldInfo); } catch (Exception exception) { Logging.TraceException(exception); } this.Member = fieldInfo; #if!HT4O_SERIALIZATION this.IdAttribute = fieldInfo.GetAttribute<IdAttribute>(); #endif this.IsTransient = fieldInfo.HasAttribute<TransientAttribute>() || fieldInfo.HasAttribute<NonSerializedAttribute>() || fieldInfo.HasAttribute<IgnoreDataMemberAttribute>(); this.Ignore = fieldInfo.HasAttribute<IgnoreAttribute>(); }
protected override void FillPageFromAnnotation(FieldInfo field, IBaseElement instance, Type parentType) { var pageAttribute = field.GetAttribute<PageAttribute>(); pageAttribute?.FillPage((WebPage)instance, parentType); }
private static void SetUpDropdownFromAnnotation(WebBaseElement instance, FieldInfo field) { var jMenu = field.GetAttribute<JMenuAttribute>(); if (jMenu == null || !typeof(IMenu).IsAssignableFrom(field.FieldType)) return; SetUpMenu((Menu)instance, jMenu); }
private static void SetUpMenuFromAnnotation(WebBaseElement instance, FieldInfo field) { var jDropdown = field.GetAttribute<JDropdownAttribute>(); if (jDropdown == null || !typeof(IDropDown).IsAssignableFrom(field.FieldType)) return; SetUpDropdown((Dropdown)instance, jDropdown); }
private static void SetUpTableFromAnnotation(WebBaseElement instance, FieldInfo field) { var jTable = field.GetAttribute<JTableAttribute>(); if (jTable == null || !typeof(ITable).IsAssignableFrom(field.FieldType)) return; SetUpTable((Table)instance, jTable); }
protected By GetNewLocatorFromField(FieldInfo field) { By byLocator = null; var locatorGroup = AppVersion; if (locatorGroup == null) return FindByAttribute.Locator(field) ?? field.GetFindsBy(); var jFindBy = field.GetAttribute<JFindByAttribute>(); if (jFindBy != null && locatorGroup.Equals(jFindBy.Group)) byLocator = jFindBy.ByLocator; return byLocator ?? (FindByAttribute.Locator(field) ?? field.GetFindsBy()); }
static bool IsKeyField(FieldInfo fi) { return fi.GetAttribute<KeyAttribute>(true) != null; }
static bool IsNullableField(FieldInfo fi) { return fi.GetAttribute<NullableAttribute>(true) != null; }