Is there a maximum use quantity of "using"?

2

My initial doubt was, if it was right to use using within using , I managed to cure it in this response:

Is it correct to use a using block within another using block?

But I was wondering, is there a maximum quantity?

That is, I wrote the following code:

 private void clickMovimentoEstoque()
    {
        GridView viewMat = null;

        TextBox codigo = null;
        TextBox qntBaixa = null;
        TextBox lote = null;

        if (xtraTabControl1.SelectedTabPage == xtraTabPage2)
        {
            //componentes
            viewMat = gridView2;

            codigo = textBox9;
            qntBaixa = textBox7;
            lote = textBox4;
        }
        else if (xtraTabControl1.SelectedTabPage == xtraTabPage5)
        {
            //mp
            viewMat = gridView10;

            codigo = textBox14;
            qntBaixa = textBox13;
            lote = textBox12;
        }

        using (viewMat)
        {
            using (codigo)
            {
                using (qntBaixa)
                {
                    using (lote)
                    {
                        qntBaixa.ForeColor = Color.Black;

                        //para garantir que a quantidade informada nunca vai ser maior que a quantidade pendente para baixa.
                        decimal qnt = 0, qntInformada = 0;
                        decimal.TryParse(viewMat.GetRowCellValue(viewMat.FocusedRowHandle, "QNT").ToString(), out qnt);
                        decimal.TryParse(qntBaixa.Text, out qntInformada);

                        int tipoMaterial = 0;
                        int.TryParse(viewMat.GetRowCellValue(viewMat.FocusedRowHandle, "tipoMaterial").ToString(), out tipoMaterial);

                        string un = viewMat.GetRowCellValue(viewMat.FocusedRowHandle, "UN").ToString();

                        //talvez iremos precisar comparar a unidade, pois no modelo atual, se for materia prima (tipomaterial = 0) pode dar baixa em quantidade maior que a planejada
                        //mas temos como mp mpbr, entre outros que tem sua unidade de medida como pç, nao podendo dar baixa maior que o solicidado            

                        if (!string.IsNullOrEmpty(codigo.Text) && !string.IsNullOrEmpty(qntBaixa.Text) && !string.IsNullOrEmpty(lote.Text) && qntInformada <= qnt && tipoMaterial != 0 ||
                            !string.IsNullOrEmpty(codigo.Text) && !string.IsNullOrEmpty(qntBaixa.Text) && !string.IsNullOrEmpty(lote.Text) && tipoMaterial == 0)
                        {
                            confirmaMovimento();
                        }
                        else if (!string.IsNullOrEmpty(codigo.Text) && !string.IsNullOrEmpty(qntBaixa.Text) && string.IsNullOrEmpty(lote.Text) && qntInformada <= qnt)
                        {
                            MessageBox.Show("Selecione um lote, para continuar!", "Movimentos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else if (string.IsNullOrEmpty(codigo.Text) && string.IsNullOrEmpty(qntBaixa.Text) && string.IsNullOrEmpty(lote.Text) && qntInformada <= qnt)
                        {
                            MessageBox.Show("Selecione um item, para continuar!", "Movimentos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else if (qntInformada > qnt)
                        {
                            MessageBox.Show("Quantidade informada é maior que a quantidade pendente para baixa!", "Movimento", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                }
            }
        }                
    }
    
asked by anonymous 28.03.2018 / 21:55

1 answer

4

There is nothing specified, you can use as much as you want, you will run into other limitations, which are already very high and no one hits them. And if knocking did the most wrong thing in the programming history:)

This code, for example, unless it is absurdly obfuscated, needs zero using s. All objects that were used, besides being incorrectly shaped are not disposable, therefore they will not work.

    
28.03.2018 / 22:01