Beispiel #1
0
        public static SearchableMember Create(MemberInfo info, SearchableType parent, DocumentationLoaderService documentationLoaderService)
        {
            var summary = documentationLoaderService.GetSummaryFromInfo(info);

            return(info switch
            {
                PropertyInfo propertyInfo => new SearchableProperty(propertyInfo, parent, summary),
                MethodInfo {
                    DeclaringType : { }
                } methodInfo when methodInfo.DeclaringType == typeof(object) => new HiddenSearchable(methodInfo, parent, summary),
                MethodInfo methodInfo when methodInfo.IsExtensionMethod() => new SearchableExtensionMethod(methodInfo, parent, summary),
                MethodInfo methodInfo => new SearchableMethod(methodInfo, parent, summary),
                FieldInfo fieldInfo => new SearchableField(fieldInfo, parent, summary),
                EventInfo eventInfo => new SearchableEvent(eventInfo, parent, summary),
                ConstructorInfo constructorInfo => new SearchableConstructor(constructorInfo, parent, summary),
                TypeInfo typeInfo => new HiddenSearchable(typeInfo, parent, summary),
                _ => new SearchableUnknown(info, parent, summary)
            });
Beispiel #2
0
 public SearchableConstructor(ConstructorInfo info, SearchableType parent, string summary)
     : base(parent, summary)
 {
     Info = info;
 }
Beispiel #3
0
 protected SearchableMember(SearchableType parent, string summary)
 {
     Parent  = parent;
     Summary = summary;
 }
 public SearchableProperty(PropertyInfo info, SearchableType parent, string summary)
     : base(parent, summary)
 {
     Info = info;
 }
Beispiel #5
0
 public SearchableField(FieldInfo info, SearchableType parent, string summary)
     : base(parent, summary)
 {
     Info = info;
 }
Beispiel #6
0
 public SearchableMethod(MethodInfo info, SearchableType parent, string summary)
     : base(parent, summary)
 {
     Info = info;
 }
 public HiddenSearchable(MemberInfo info, SearchableType parent, string summary)
     : base(parent, summary)
 {
     Info = info;
 }
 public SearchableExtensionMethod(MethodInfo info, SearchableType parent, string summary)
     : base(info, parent, summary)
 {
 }
Beispiel #9
0
 public SearchableUnknown(MemberInfo info, SearchableType parent, string summary)
     : base(parent, summary)
 {
     Info = info;
 }
 public SearchableEvent(EventInfo info, SearchableType parent, string summary)
     : base(parent, summary)
 {
     Info = info;
 }