Esempio n. 1
0
        public static IndexerInheritanceModifier IndexerInheritanceModifier(
            this PropertyInfo property,
            IInternalTypeWithReflection type)
        {
            switch (property.Method().InheritanceModifier(() => type.HiddenMembersAnalyzer.IsIndexerHidden(property)))
            {
            case ClassMemberInheritanceModifier.None:
                return(CSharpDom.IndexerInheritanceModifier.None);

            case ClassMemberInheritanceModifier.New:
                return(CSharpDom.IndexerInheritanceModifier.New);

            case ClassMemberInheritanceModifier.NewVirtual:
                return(CSharpDom.IndexerInheritanceModifier.NewVirtual);

            case ClassMemberInheritanceModifier.Override:
                return(CSharpDom.IndexerInheritanceModifier.Override);

            case ClassMemberInheritanceModifier.SealedOverride:
                return(CSharpDom.IndexerInheritanceModifier.SealedOverride);

            case ClassMemberInheritanceModifier.Virtual:
                return(CSharpDom.IndexerInheritanceModifier.Virtual);

            default:
                throw new NotSupportedException();
            }
        }
        internal SealedClassIndexerWithReflection(IInternalTypeWithReflection declaringType, PropertyInfo indexer)
        {
            this.indexer       = new IndexerWithReflection(declaringType, indexer);
            this.declaringType = declaringType;
            if (this.indexer.GetAccessor != null)
            {
                getAccessor = new ClassAccessorWithReflection(this, this.indexer.GetAccessor);
            }

            if (this.indexer.SetAccessor != null)
            {
                setAccessor = new ClassAccessorWithReflection(this, this.indexer.SetAccessor);
            }
        }
Esempio n. 3
0
        internal ClassPropertyWithReflection(IInternalTypeWithReflection declaringType, PropertyInfo propertyInfo)
        {
            property           = new PropertyWithReflection(declaringType, propertyInfo);
            this.declaringType = declaringType;
            if (property.GetAccessor != null)
            {
                getAccessor = new ClassAccessorWithReflection(this, property.GetAccessor);
            }

            if (property.SetAccessor != null)
            {
                setAccessor = new ClassAccessorWithReflection(this, property.SetAccessor);
            }
        }
 public static ClassMemberInheritanceModifier InheritanceModifier(this MethodInfo method, IInternalTypeWithReflection type)
 {
     return(method.InheritanceModifier(() => type.HiddenMembersAnalyzer.IsMethodHidden(method)));
 }
 internal ClassNestedSealedClassWithReflection(IInternalTypeWithReflection declaringType, Type type)
 {
     nestedClass = new NestedSealedClassWithReflection(declaringType, type);
 }
 public static ClassMemberInheritanceModifier InheritanceModifier(this EventInfo @event, IInternalTypeWithReflection type)
 {
     return(@event.AddMethod.InheritanceModifier(() => type.HiddenMembersAnalyzer.IsEventHidden(@event)));
 }
Esempio n. 7
0
 internal SealedClassEventPropertyWithReflection(IInternalTypeWithReflection declaringType, EventInfo @event)
 {
     this.@event        = new EventPropertyWithReflection(declaringType, @event);
     this.declaringType = declaringType;
 }
Esempio n. 8
0
 public static SealedClassMemberInheritanceModifier SealedClassInheritanceModifier(
     this PropertyInfo property,
     IInternalTypeWithReflection type)
 {
     return(property.Method().SealedClassInheritanceModifier(() => type.HiddenMembersAnalyzer.IsPropertyHidden(property)));
 }
 internal ClassConstantWithReflection(IInternalTypeWithReflection declaringType, FieldInfo field)
 {
     this.constant = new ConstantGroupWithReflection(declaringType, field);
 }
Esempio n. 10
0
 internal ClassFieldWithReflection(IInternalTypeWithReflection declaringType, FieldInfo field)
 {
     this.field = new FieldGroupWithReflection(declaringType, field);
 }
 internal ClassMethodWithReflection(IInternalTypeWithReflection declaringType, MethodInfo method)
 {
     this.method        = new MethodWithReflection(declaringType, method);
     this.declaringType = declaringType;
 }