public override void VisitAbstractClass <TNamespace, TDocument, TProject, TSolution, TAttributeGroup, TGenericParameter, TClassReference, TInterfaceReference, TEventCollection, TPropertyCollection, TIndexerCollection, TMethodCollection, TFieldCollection, TConstructor, TOperatorOverload, TConversionOperator, TNestedClassCollection, TNestedDelegate, TNestedEnum, TNestedInterface, TNestedStructCollection, TStaticConstructor, TDestructor>( IAbstractClass <TNamespace, TDocument, TProject, TSolution, TAttributeGroup, TGenericParameter, TClassReference, TInterfaceReference, TEventCollection, TPropertyCollection, TIndexerCollection, TMethodCollection, TFieldCollection, TConstructor, TOperatorOverload, TConversionOperator, TNestedClassCollection, TNestedDelegate, TNestedEnum, TNestedInterface, TNestedStructCollection, TStaticConstructor, TDestructor> @class) { if (@class.Namespace != null) { @class.Namespace.Accept(this); } }
protected void TestAbstractClass(Type type) { IAbstractClass @class = TypeCache.AbstractClasses[type.Name()]; string namespaceName = new FindNamespaceForClassVisitor(@class).Result; LoadedDocument document = CreateLoadedDocument(new AbstractClassFactory(@class).Value, namespaceName); string documentText = document.ToSourceCode(); Verify(type, documentText); }
public FindNamespaceForClassVisitor(IAbstractClass @class) { @class.Accept(this); }
public static void ConcreteMethodB(IAbstractClass caller) { //Huge code unrelated to this class caller.AbstractMethodA(); }
public AbstractClassWrapper(IAbstractClass <TNamespace, TDocument, TProject, TSolution, TAttributeGroup, TGenericParameter, TClassReference, TInterfaceReference, TEventCollection, TPropertyCollection, TIndexerCollection, TMethodCollection, TFieldCollection, TConstructor, TOperatorOverload, TConversionOperator, TNestedClassCollection, TNestedDelegate, TNestedEnum, TNestedInterface, TNestedStructCollection, TStaticConstructor, TDestructor> @class) { WrappedObject = @class; }
public void Add(IAbstractClass <OtherClassBase> thing) { this.data.Add(thing); }