FindOrCreateTypeConf <TImplementedInterface, TSuperClass, TWrappedInterface>(string className = null) { // if null - take the name of the interface without first letter 'I' className = className.GetClassName <TImplementedInterface>(); ITypeConfig <TImplementedInterface, TSuperClass, TWrappedInterface> result = (ITypeConfig <TImplementedInterface, TSuperClass, TWrappedInterface>) AllCreatedTypes.FirstOrDefault(typeConfig => typeConfig.ClassName == className); if (result == null) { result = CreateTypeConf <TImplementedInterface, TSuperClass, TWrappedInterface>(className); } return(result); }
internal ITypeConfig FindOrCreateTypeConf ( string className, INamedTypeSymbol implInterfaceTypeSymbol, INamedTypeSymbol superClassTypeSymbol, INamedTypeSymbol wrapInterfaceTypeSymbol ) { // if null - take the name of the interface without first letter 'I' className = implInterfaceTypeSymbol.GetClassName(className); ITypeConfig result = AllCreatedTypes.FirstOrDefault(typeConfig => typeConfig.ClassName == className); if (result == null) { result = CreateTypeConf(className, implInterfaceTypeSymbol, superClassTypeSymbol, wrapInterfaceTypeSymbol); } return(result); }
internal bool HasCreatedType(string className) { return(AllCreatedTypes.FirstOrDefault(t => t.ClassName == className) != null); }