// ... /// <summary> /// Construye un nuevo objeto de la clase <code>StringBuilderClass</code>, /// que desciende de <code>ObjectClass</code>, /// y ejecuta el inicializador virtual, por-de-facto. /// Para ejecutar otro inicializador, /// se tiene que realizar estas operaciones como pasos separados. /// </summary> /// <returns>Nuevo objeto</returns> public static new StringBuilderClass Factory() { StringBuilderClass Result = new StringBuilderClass(); Result.Create(); return Result; }
/// <summary> /// Genera una lista de condiciones en la clausula "WHERE", /// para una sentencia S.Q.L. /// </summary> /// <param name="IncludeWhere">Indica si se genera la palabra reservada "WHERE"</param> /// <returns>Lista de filtroscomo texto</returns> public string ToSQL(bool IncludeWhere, bool IncludeParenthesis, bool FirstItemNoConcat) { string Result = ""; // --> preparar manejador texto StringBuilderClass strSentence = new StringBuilderClass(); if (IncludeWhere) { strSentence.AppendLine("WHERE (1=1) "); } if (IncludeParenthesis) { if (IncludeWhere) { strSentence.Append("AND "); } strSentence.AppendLine("( "); } int AMax = this.InternalList.Count; for (int AIndex = 0; AIndex < AMax; AIndex++) { FilterClass EachFilter = this.InternalList[AIndex]; bool IgnoreConcatOperator = (AIndex == 0) && FirstItemNoConcat; String strPredicate = EachFilter.ToSQL(IgnoreConcatOperator); strSentence.AppendLine(strPredicate); } // for if (IncludeParenthesis) { strSentence.AppendLine(") "); } // ahora si, convertir a una cadena Result = strSentence.ToString(); // --> liberar manejador texto strSentence.Destroy(); strSentence = null; return Result; }
/// <summary> /// Desecha objeto de la clase <code>StringBuilderClass</code>, /// que desciende de <code>ObjectClass</code>, /// ejecutando el metodo finalizador, por-de-facto. /// Para ejecutar otro finalizador, /// se tiene que realizar estas operaciones como pasos separados. /// </summary> /// <param name="AObject">Objeto que se desechara de memoria</param> public static void Disposer(ref StringBuilderClass AObject) { if (AObject != null) { AObject.Destroy(); AObject = null; } // if (AObject != null) }