private static bool Process(MemberInfo member, IFacetHolder holder) { Attribute attribute = member.GetCustomAttribute<RegularExpressionAttribute>(); if (attribute == null) { attribute = member.GetCustomAttribute<RegExAttribute>(); } return FacetUtils.AddFacet(Create(attribute, holder)); }
/// <summary> /// Constructs the filter /// </summary> /// <param name="dataValue"> /// DataValue used to link the local with the foreign DataObject /// </param> /// <param name="valueToCompare"> /// Foreign DataObject /// </param> public ForeignKeyFilter(DataType dtype, System.Reflection.MemberInfo member, object valueToCompare) { if (dtype == null) { throw new ArgumentNullException(nameof(dtype)); } if (member == null) { throw new ArgumentNullException(nameof(member)); } DataType = dtype; Member = member; ValueToCompare = valueToCompare; foreach (DataMember pk in dtype.PrimaryKey) { ValueCompareFilter pkFilter = new ValueCompareFilter(); pkFilter.Member = pk; pkFilter.ValueToCompare = (IComparable) pk.Member.GetValue(ValueToCompare); base.InnerFilters.Add(pkFilter); } }
/// <summary> /// Constructs the filter /// <para xml:lang="es"> /// Construye el filtro /// </para> /// </summary> /// <param name="dataValue"> /// DataValue used to link the local with the foreign DataObject /// <para xml:lang="es"> /// Valor de datos utilizado para vincular el local con el DataObject externo /// </para> /// </param> /// <param name="valueToCompare"> /// Foreign DataObject /// <para xml:lang="es"> /// DataObject foraneo /// </para> /// </param> public ForeignKeyFilter(DataType dtype, System.Reflection.MemberInfo member, object valueToCompare) { if (dtype == null) { throw new ArgumentNullException(nameof(dtype)); } if (member == null) { throw new ArgumentNullException(nameof(member)); } DataType = dtype; Member = member; ValueToCompare = valueToCompare; DataType foreignKeyType = Data.Validation.MemberExpression.GetReturnType(member); foreach (DataMember pk in foreignKeyType.PrimaryKey) { ValueCompareFilter pkFilter = new ValueCompareFilter(); pkFilter.Member = dtype[member.Name + "." + pk.Expression]; pkFilter.ValueToCompare = (IComparable) pk.Expression.GetValue(ValueToCompare); Container.InnerFilters.Add(pkFilter); } }
private static bool Process(MemberInfo member, IFacetHolder holder) { Attribute attribute = member.GetCustomAttribute<DescriptionAttribute>(); if (attribute == null) { attribute = member.GetCustomAttribute<DescribedAsAttribute>(); } return FacetUtils.AddFacet(Create(attribute, holder)); }
private static bool Process(MemberInfo member, IFacetHolder holder) { var attribute = member.GetCustomAttribute<DisabledAttribute>(); IDisabledFacet disabledFacet = Create(attribute, holder); if (disabledFacet != null) { return FacetUtils.AddFacet(disabledFacet); } return false; }
private bool Process(MemberInfo member, Type methodReturnType, IFacetHolder holder) { if (CollectionUtils.IsGenericEnumerable(methodReturnType) || CollectionUtils.IsCollection(methodReturnType)) { var attribute = member.GetCustomAttribute<TableViewAttribute>(); return FacetUtils.AddFacet(Create(attribute, holder)); } return false; }
public CustomAttributeNamedArgument(System.Reflection.MemberInfo memberInfo, CustomAttributeTypedArgument typedArgument) { if (memberInfo == null) { throw new ArgumentNullException("memberInfo"); } this.m_memberInfo = memberInfo; this.m_value = typedArgument; }
private static bool Process(MemberInfo member, IFacetHolder holder) { // give priority to Idempotent as more restrictive if (member.GetCustomAttribute<IdempotentAttribute>() != null) { return FacetUtils.AddFacet(new IdempotentFacetAnnotation(holder)); } if (member.GetCustomAttribute<QueryOnlyAttribute>() != null) { return FacetUtils.AddFacet(new QueryOnlyFacetAnnotation(holder)); } return false; }
public CustomAttributeNamedArgument(System.Reflection.MemberInfo memberInfo, object value) { if (memberInfo == null) { throw new ArgumentNullException("memberInfo"); } Type argumentType = null; FieldInfo info = memberInfo as FieldInfo; PropertyInfo info2 = memberInfo as PropertyInfo; if (info != null) { argumentType = info.FieldType; } else { if (info2 == null) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidMemberForNamedArgument")); } argumentType = info2.PropertyType; } this.m_memberInfo = memberInfo; this.m_value = new CustomAttributeTypedArgument(argumentType, value); }
private static bool Process(MemberInfo member, bool isDate, IFacetHolder holder) { var attribute = member.GetCustomAttribute<RangeAttribute>(); return FacetUtils.AddFacet(Create(attribute, isDate, holder)); }
public static int GetMetadataToken(this System.Reflection.MemberInfo member) { throw null; }
public object GetCustomDataToExport(System.Reflection.MemberInfo memberInfo, Type dataContractType) { return(null); }
/// <summary> /// Cria um <see cref="ComposableMember"/> para uma instancia de <see cref="System.Reflection.MemberInfo"/>. /// </summary> /// <param name="member">Instancia do <see cref="System.Reflection.MemberInfo"/> para criar o <see cref="ComposableMember"/>.</param> /// <returns>A <see cref="ComposableMember"/> instance.</returns> public static ComposableMember ToComposableMember(this System.Reflection.MemberInfo member) { return(ComposableMember.Create(member)); }
public void NonVirtualMemberNotification(Type type, System.Reflection.MemberInfo memberInfo) { }
public void NonProxyableMemberNotification(Type type, System.Reflection.MemberInfo memberInfo) { }
protected override Guid GetGuid(System.Reflection.MemberInfo memberInfo) { return(Guid.NewGuid()); }
protected override IValueProvider CreateMemberValueProvider(System.Reflection.MemberInfo member) { return(member.DeclaringType.Equals(DocumentMetadataType) ? ValueProviderCache.GetValueProviderFor(member.Name) as IValueProvider : new ReflectionValueProvider(member)); }
public virtual void RecordFixup(long objectToBeFixed, System.Reflection.MemberInfo member, long objectRequired) { }
internal override bool IsHiddenMember(System.Reflection.MemberInfo member) { // Generated fields, e.g. "<property_name>k__BackingField" return(GeneratedNames.IsGeneratedMemberName(member.Name)); }
internal override string FormatMemberName(System.Reflection.MemberInfo member) { return(member.Name); }
private static bool Process(MemberInfo member, IFacetHolder holder) { var attribute = member.GetCustomAttribute<ExcludeFromFindMenuAttribute>(); return FacetUtils.AddFacet(Create(attribute, holder)); }
protected virtual System.Collections.Generic.IEnumerable <object> GetCustomAttributes(System.Reflection.MemberInfo member, System.Collections.Generic.IEnumerable <object> declaredAttributes) { throw null; }
private static bool Process(MemberInfo member, IFacetHolder holder) { Attribute attribute = member.GetCustomAttribute<StringLengthAttribute>() ?? (Attribute) member.GetCustomAttribute<MaxLengthAttribute>(); return FacetUtils.AddFacet(Create(attribute, holder)); }
internal CustomAttributeNamedArgument(System.Reflection.MemberInfo memberInfo, CustomAttributeTypedArgument value) { this.m_memberInfo = memberInfo; this.m_value = value; }
public MemberExpression(Expression expression, System.Reflection.MemberInfo member) : this(expression, MemberInfo.Create(member)) { }
protected override void OnSPInspectorGUI() { this.serializedObject.Update(); this.DrawDefaultInspectorExcept("_target", "_restrictedType", "_memberName", "_values", "_mode"); this.DrawPropertyField("_target"); //uses the SelectableComponent PropertyDrawer this.DrawPropertyField("_restrictedType"); this.serializedObject.ApplyModifiedProperties(); var targProp = this.serializedObject.FindProperty("_target"); var restrictTypeProp = this.serializedObject.FindProperty("_restrictedType"); var memberProp = this.serializedObject.FindProperty("_memberName"); var valuesArrProp = this.serializedObject.FindProperty("_values"); var modeProp = this.serializedObject.FindProperty("_mode"); var targetRef = EditorHelper.GetTargetObjectOfProperty(targProp) as TriggerableTargetObject; if (targetRef == null) { return; } //SELECT MEMBER System.Reflection.MemberInfo selectedMember = null; var restrictType = TypeReferencePropertyDrawer.GetTypeFromTypeReference(restrictTypeProp); if (!targetRef.TargetsTriggerArg && targetRef.Target != null && targetRef.Find == TriggerableTargetObject.FindCommand.Direct && targetRef.ResolveBy != TriggerableTargetObject.ResolveByCommand.WithType && targetRef.Target.GetType() != restrictType) { memberProp.stringValue = SPEditorGUILayout.ReflectedPropertyField(EditorHelper.TempContent("Property", "The property on the target to set."), targetRef.Target, memberProp.stringValue, com.spacepuppy.Dynamic.DynamicMemberAccess.ReadWrite, out selectedMember, true); } else { if (restrictType == null) { if (targetRef.ResolveBy == TriggerableTargetObject.ResolveByCommand.WithType) { restrictType = TypeUtil.FindType(targetRef.ResolveByQuery); } if (restrictType == null) { restrictType = typeof(object); } else { TypeReferencePropertyDrawer.SetTypeToTypeReference(restrictTypeProp, restrictType); } } memberProp.stringValue = SPEditorGUILayout.ReflectedPropertyField(EditorHelper.TempContent("Property", "The property on the target to set."), restrictType, memberProp.stringValue, out selectedMember, true); } this.serializedObject.ApplyModifiedProperties(); //MEMBER VALUE TO SET TO if (selectedMember != null && selectedMember.MemberType == System.Reflection.MemberTypes.Method) { var methodInfo = selectedMember as System.Reflection.MethodInfo; if (methodInfo == null) { return; } var parameters = methodInfo.GetParameters(); valuesArrProp.arraySize = parameters.Length; for (int i = 0; i < parameters.Length; i++) { var p = parameters[i]; var valueProp = valuesArrProp.GetArrayElementAtIndex(i); var propType = p.ParameterType; if (DynamicUtil.TypeIsVariantSupported(propType)) { //draw the default variant as the method accepts anything _variantDrawer.RestrictVariantType = false; _variantDrawer.ForcedObjectType = null; var label = EditorHelper.TempContent("Parameter " + i.ToString(), "The value to set to."); _variantDrawer.OnGUI(EditorGUILayout.GetControlRect(true, _variantDrawer.GetPropertyHeight(valueProp, label)), valueProp, label); } else { _variantDrawer.RestrictVariantType = true; _variantDrawer.TypeRestrictedTo = propType; _variantDrawer.ForcedObjectType = (TypeUtil.IsType(propType, typeof(UnityEngine.Object))) ? propType : null; var label = EditorHelper.TempContent("Parameter " + i.ToString(), "The value to set to."); _variantDrawer.OnGUI(EditorGUILayout.GetControlRect(true, _variantDrawer.GetPropertyHeight(valueProp, label)), valueProp, label); } } modeProp.SetEnumValue(i_SetValueOnTarget.SetMode.Set); } else if (selectedMember != null) { var propType = com.spacepuppy.Dynamic.DynamicUtil.GetInputType(selectedMember); var emode = modeProp.GetEnumValue <i_SetValueOnTarget.SetMode>(); if (emode == i_SetValueOnTarget.SetMode.Toggle) { //EditorGUILayout.LabelField(EditorHelper.TempContent(valueProp.displayName), EditorHelper.TempContent(propType.Name)); valuesArrProp.arraySize = 0; var evtp = VariantReference.GetVariantType(propType); var cache = SPGUI.Disable(); EditorGUILayout.EnumPopup(EditorHelper.TempContent("Value"), evtp); cache.Reset(); } else { valuesArrProp.arraySize = 1; var valueProp = valuesArrProp.GetArrayElementAtIndex(0); if (DynamicUtil.TypeIsVariantSupported(propType)) { //draw the default variant as the method accepts anything _variantDrawer.RestrictVariantType = false; _variantDrawer.ForcedObjectType = null; var label = EditorHelper.TempContent("Value", "The value to set to."); _variantDrawer.OnGUI(EditorGUILayout.GetControlRect(true, _variantDrawer.GetPropertyHeight(valueProp, label)), valueProp, label); } else { _variantDrawer.RestrictVariantType = true; _variantDrawer.TypeRestrictedTo = propType; _variantDrawer.ForcedObjectType = (TypeUtil.IsType(propType, typeof(UnityEngine.Object))) ? propType : null; var label = EditorHelper.TempContent("Value", "The value to set to."); _variantDrawer.OnGUI(EditorGUILayout.GetControlRect(true, _variantDrawer.GetPropertyHeight(valueProp, label)), valueProp, label); } } if (com.spacepuppy.Dynamic.Evaluator.WillArithmeticallyCompute(propType)) { EditorGUILayout.PropertyField(modeProp); } else { //modeProp.SetEnumValue(i_SetValueOnTarget.SetMode.Set); EditorGUI.BeginChangeCheck(); emode = (i_SetValueOnTarget.SetMode)SPEditorGUILayout.EnumPopupExcluding(EditorHelper.TempContent(modeProp.displayName), emode, i_SetValueOnTarget.SetMode.Decrement, i_SetValueOnTarget.SetMode.Increment); if (EditorGUI.EndChangeCheck()) { modeProp.SetEnumValue(emode); } } } else { modeProp.SetEnumValue(i_SetValueOnTarget.SetMode.Set); } this.serializedObject.ApplyModifiedProperties(); }
internal static MemberInfo Reflected(System.Reflection.MemberInfo member) => member switch {
// public Test Decorate(Test test, Type fixtureType) // { // // TODO: Add Decorator.Decorate implementation // return null; // } public Test Decorate(Test test, System.Reflection.MemberInfo member) { // TODO: Add Decorator.NUnit.Core.ITestDecorator.Decorate implementation return(null); }
private static bool Process(MemberInfo member, IFacetHolder holder) { var attribute = member.GetCustomAttribute<TypicalLengthAttribute>(); return FacetUtils.AddFacet(Create(attribute, holder)); }
private static bool Process(MemberInfo member, IFacetHolder holder) { return Process(member.GetCustomAttribute<HiddenAttribute>, member.GetCustomAttribute<ScaffoldColumnAttribute>, holder); }
string?Azure.Core.Serialization.IMemberNameConverter.ConvertMemberName(System.Reflection.MemberInfo member) { throw null; }
public object GetCustomDataToExport(System.Reflection.MemberInfo memberInfo, Type dataContractType) { throw new NotImplementedException(); }
protected override IValueProvider CreateMemberValueProvider(System.Reflection.MemberInfo member) { return(new GenericDataValueProvider(member, base.CreateMemberValueProvider(member), SensitiveProperties)); }
private void DrawAdvanced_CallMethodOnSelected(Rect area, SerializedProperty property) { //Draw Target var targRect = new Rect(area.xMin, area.yMin, area.width, EditorGUIUtility.singleLineHeight); var targProp = property.FindPropertyRelative(TriggerTargetProps.PROP_TRIGGERABLETARG); var targLabel = new GUIContent("Triggerable Target"); var targGo = GameObjectUtil.GetGameObjectFromSource(targProp.objectReferenceValue); var newTargGo = EditorGUI.ObjectField(targRect, targLabel, targGo, typeof(GameObject), true) as GameObject; if (newTargGo != targGo) { targGo = newTargGo; targProp.objectReferenceValue = (targGo != null) ? targGo.transform : null; } var targCompPopupRect = new Rect(area.xMin, targRect.yMax, area.width, EditorGUIUtility.singleLineHeight); if (targGo != null) { EditorGUI.BeginChangeCheck(); var selectedComp = SPEditorGUI.SelectComponentFromSourceField(targCompPopupRect, "Target Component", targGo, targProp.objectReferenceValue as Component); if (EditorGUI.EndChangeCheck()) { targProp.objectReferenceValue = selectedComp; } } else { EditorGUI.LabelField(targCompPopupRect, "Target Component", "(First Select a Target)"); } //Draw Method Name var methNameRect = new Rect(area.xMin, targCompPopupRect.yMax, area.width, EditorGUIUtility.singleLineHeight); System.Reflection.MemberInfo selectedMember = null; if (targProp.objectReferenceValue != null) { var methProp = property.FindPropertyRelative(TriggerTargetProps.PROP_METHODNAME); //var tp = targProp.objectReferenceValue.GetType(); //var members = GetAvailableMethods(tp).ToArray(); //var members = com.spacepuppy.Dynamic.DynamicUtil.GetEasilySerializedMembers(targProp.objectReferenceValue, System.Reflection.MemberTypes.Method).ToArray(); var members = com.spacepuppy.Dynamic.DynamicUtil.GetEasilySerializedMembers(targProp.objectReferenceValue, System.Reflection.MemberTypes.All, spacepuppy.Dynamic.DynamicMemberAccess.Write).ToArray(); System.Array.Sort(members, (a, b) => string.Compare(a.Name, b.Name, true)); var memberNames = members.Select((m) => m.Name).ToArray(); int index = System.Array.IndexOf(memberNames, methProp.stringValue); index = EditorGUI.Popup(methNameRect, new GUIContent("Method", "The method/prop on the target to call."), index, (from n in memberNames select new GUIContent(n)).ToArray()); methProp.stringValue = (index >= 0) ? memberNames[index] : null; selectedMember = (index >= 0) ? members[index] : null; } else { EditorGUI.Popup(methNameRect, new GUIContent("Method", "The method/prop on the target to call."), -1, new GUIContent[0]); } property.serializedObject.ApplyModifiedProperties(); //Draw Triggerable Arg var parr = (selectedMember != null) ? com.spacepuppy.Dynamic.DynamicUtil.GetDynamicParameterInfo(selectedMember) : null; if (parr == null || parr.Length == 0) { //NO PARAMETERS _callMethodModeExtraLines = 1; var argRect = new Rect(area.xMin, methNameRect.yMax, area.width, EditorGUIUtility.singleLineHeight); var argArrayProp = property.FindPropertyRelative(TriggerTargetProps.PROP_TRIGGERABLEARGS); if (argArrayProp.arraySize > 0) { argArrayProp.arraySize = 0; argArrayProp.serializedObject.ApplyModifiedProperties(); } var cache = SPGUI.Disable(); EditorGUI.LabelField(argRect, GUIContent.none, new GUIContent("*Zero Parameter Count*")); cache.Reset(); } else { //MULTIPLE PARAMETERS - special case, does not support trigger event arg _callMethodModeExtraLines = parr.Length; var argArrayProp = property.FindPropertyRelative(TriggerTargetProps.PROP_TRIGGERABLEARGS); if (argArrayProp.arraySize != parr.Length) { argArrayProp.arraySize = parr.Length; argArrayProp.serializedObject.ApplyModifiedProperties(); } EditorGUI.indentLevel++; for (int i = 0; i < parr.Length; i++) { var paramType = parr[i].ParameterType; var argRect = new Rect(area.xMin, methNameRect.yMax + i * EditorGUIUtility.singleLineHeight, area.width, EditorGUIUtility.singleLineHeight); var argProp = argArrayProp.GetArrayElementAtIndex(i); if (paramType == typeof(object)) { //draw the default variant as the method accepts anything _variantDrawer.RestrictVariantType = false; _variantDrawer.ForcedObjectType = null; _variantDrawer.OnGUI(argRect, argProp, EditorHelper.TempContent("Arg " + i.ToString() + ": " + parr[i].ParameterName, "A parameter to be passed to the method if needed.")); } else { _variantDrawer.RestrictVariantType = true; _variantDrawer.TypeRestrictedTo = paramType; _variantDrawer.ForcedObjectType = (paramType.IsInterface || TypeUtil.IsType(paramType, typeof(Component))) ? paramType : null; _variantDrawer.OnGUI(argRect, argProp, EditorHelper.TempContent("Arg " + i.ToString() + ": " + parr[i].ParameterName, "A parameter to be passed to the method if needed.")); } } EditorGUI.indentLevel--; } }
private static bool Process(MemberInfo member, IFacetHolder holder) { var attribute = member.GetCustomAttribute<PresentationHintAttribute>(); return FacetUtils.AddFacet(Create(attribute, holder)); }
/// <summary> /// Recuperae o cardinalidade do membro informado. /// </summary> /// <param name="member"></param> /// <param name="allowDefault"></param> /// <returns></returns> public static System.ComponentModel.Composition.Primitives.ImportCardinality GetCardinality(this System.Reflection.MemberInfo member, bool allowDefault) { var propertyInfo = member as System.Reflection.PropertyInfo; if (propertyInfo != null) { if (propertyInfo.PropertyType.IsEnumerable()) { return(System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrMore); } return((allowDefault) ? System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne : System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne); } var fieldInfo = member as System.Reflection.FieldInfo; if (fieldInfo != null) { if (fieldInfo.FieldType.IsEnumerable()) { return(System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrMore); } return((allowDefault) ? System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne : System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne); } if (member is System.Reflection.ConstructorInfo) { return(System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne); } throw new System.ComponentModel.Composition.ImportCardinalityMismatchException(); }