static void Main(string region = null, string session = null, string package = null, string project = null, string[] args = null) { switch (region) { case "OO1": Basic.RunStuff(null); break; case "OO2": Interfaces.RunStuff(null); break; case "OO3": AbstractClasses.RunStuff(null); break; case "OO4": Polymorphism.RunStuff(null); break; default: break; } }
protected override JsonConverter ResolveContractConverter(Type objectType) { if (!objectType.IsAbstract && AbstractClasses.Any(t => t.IsAssignableFrom(objectType))) { // pretend TableSortRuleConvert is not specified (thus avoiding a stack overflow) return(null); } return(base.ResolveContractConverter(objectType)); }
public void AddAbstractClass(ClassDeclarationSyntax syntax) { string className = syntax.Identifier.Text; if (AbstractClasses.ContainsKey(className)) { throw new ArgumentException($"Abstract Class: {className} already exist."); } AbstractClasses.Add(className, syntax); }
private void UpdateExistingAbstractClassesWithTheSameArguments(List <int> arguments, ClusteredDataObject reductDataObject, int indexOfReductDataObject, out bool isNewAbstractClass) { isNewAbstractClass = true; foreach (var abstractClass in AbstractClasses.Where(abstractClass => abstractClass.ArgumentsValues.SequenceEqual(arguments))) { isNewAbstractClass = false; abstractClass.ObjectsIndexes.Add(indexOfReductDataObject); if (abstractClass.Decision == reductDataObject.Decision) { continue; } abstractClass.IsClear = false; abstractClass.Decision = null; } }
public bool TryGetAbstractClass(string abstractClassName, out ClassDeclarationSyntax result) => AbstractClasses.TryGetValue(abstractClassName, out result);
public bool IsAbstractClass(string name) => AbstractClasses.ContainsKey(name);
public override void VisitAbstractClass <TNamespace, TDocument, TProject, TSolution, TAttributeGroup, TGenericParameter, TClassReference, TInterfaceReference, TEventCollection, TPropertyCollection, TIndexerCollection, TMethodCollection, TFieldCollection, TConstructor, TOperatorOverload, TConversionOperator, TNestedClassCollection, TNestedDelegate, TNestedEnum, TNestedInterfaceCollection, TNestedStructCollection, TDestructor, TStaticConstructor>( IAbstractClass <TNamespace, TDocument, TProject, TSolution, TAttributeGroup, TGenericParameter, TClassReference, TInterfaceReference, TEventCollection, TPropertyCollection, TIndexerCollection, TMethodCollection, TFieldCollection, TConstructor, TOperatorOverload, TConversionOperator, TNestedClassCollection, TNestedDelegate, TNestedEnum, TNestedInterfaceCollection, TNestedStructCollection, TDestructor, TStaticConstructor> @class) { AbstractClasses.Add(@class.Name, @class); }