Пример #1
0
 private static IEnumerable<SpyableObject.Method> GetSpyableObjectMethods(ISpyableProvider spyableProvider)
 {
     return spyableProvider.SpyableObject
         .GetType()
         .GetMethods(Flags)
         .Where(f => !f.IsSpecialName && f.HasAttribute(typeof (SpyAttribute)) && f.HasNoArguments())
         .Select(info => new SpyableObject.Method
                             {
                                 Name = info.Name,
                                 Type = info.ReturnType,
                                 SpyableObject = spyableProvider.SpyableObject
                             });
 }
Пример #2
0
 private static IEnumerable<SpyableObject.Field> GetSpyableObjectFields(ISpyableProvider spyableProvider)
 {
     return spyableProvider.SpyableObject
         .GetType()
         .GetFields(Flags)
         .Where(f => !f.IsSpecialName && f.HasAttribute(typeof (SpyAttribute)))
         .Select(info => new SpyableObject.Field
                             {
                                 Name = info.Name,
                                 Type = info.FieldType,
                                 SpyableObject = spyableProvider.SpyableObject
                             });
 }
Пример #3
0
 private static IEnumerable<SpyableObject.Property> GetSpyableObjectProperties(ISpyableProvider spyableProvider)
 {
     return spyableProvider.SpyableObject
         .GetType()
         .GetProperties(Flags)
         .Where(f => !f.IsSpecialName && !f.IsIndexed() && f.HasAttribute(typeof (SpyAttribute)))
         .Select(info => new SpyableObject.Property
                             {
                                 Name = info.Name,
                                 Type = info.PropertyType,
                                 SpyableObject = spyableProvider.SpyableObject
                             });
 }