Exemplo n.º 1
0
 public SwitchMatchFields(Delegate[] funcs, TypeOfFIelds typeOfFields)
 {
     this.typeOfFields = typeOfFields;
     this.matches      = funcs.Select(f => Tuple.Create(f.Method.GetParameters().Select(p => p.ParameterType).ToArray(), f)).ToArray();
 }
Exemplo n.º 2
0
 internal static FieldOrPropertyOrGetMethod[] GetFieldsOrPropertiesOrGetMethods(this Type t, TypeOfFIelds typeOfFIelds)
 {
     return(fieldOrPropertyOrMethods.WeakMemoize(t,
                                                 type => new FieldOrPropertyOrGetMethod[0]
                                                 .Concat(typeOfFIelds.HasFlag(TypeOfFIelds.Fields)
             ? GetPublicFields(type).Select(p => new FieldOrPropertyOrGetMethod(p))
             : new FieldOrPropertyOrGetMethod[0])
                                                 .Concat(typeOfFIelds.HasFlag(TypeOfFIelds.Properties)
             ? GetPublicProperties(type).Select(p => new FieldOrPropertyOrGetMethod(p))
             : new FieldOrPropertyOrGetMethod[0])
                                                 .Concat(typeOfFIelds.HasFlag(TypeOfFIelds.Methods)
             ? GetPublicGetMethods(type).Select(p => new FieldOrPropertyOrGetMethod(p))
             : new FieldOrPropertyOrGetMethod[0])
                                                 .ToArray()
                                                 ));
 }
Exemplo n.º 3
0
 public Fields(Type type, TypeOfFIelds typeOfFIelds)
 {
     fields = type.GetFieldsOrPropertiesOrGetMethods(typeOfFIelds).ToArray();
 }
Exemplo n.º 4
0
 public Fields(Type type, TypeOfFIelds typeOfFIelds)
 {
     fields = type.GetFieldsOrPropertiesOrGetMethods(typeOfFIelds).ToArray();
 }