3

このコードをリファクタリングして一時変数を使用する必要がなく、オブジェクト初期化子に関連付けられた構文糖衣を使用する方法はありますか?

FrmSomeForm someTempForm = new FrmSomeForm()
{
    SomePropA = "A",
    SomePropB = "B",
    SomePropC = "C"
};
using (FrmSomeForm someForm = someTempForm)
{
    someForm.ShowDialog();
}
4

5 に答える 5

5
using (FrmSomeForm someForm = new FrmSomeForm(){
    SomePropA = "A",
    SomePropB = "B",
    SomePropC = "C"
})
{
    someForm.ShowDialog();
}

これはうまくいきませんか?oO

于 2012-10-16T19:54:27.007 に答える
5
using (FrmSomeForm someForm = new FrmSomeForm())
{
    someForm.SomePropA = "A";
    someForm.SomePropB = "B";
    someForm.SomePropC = "C";
    someForm.ShowDialog();
}

それが最も簡単な方法であり、私の意見ではさらに読みやすいと思います...

物事をシンプルにしてください:-)

于 2012-10-16T19:56:12.007 に答える
3

試す:

        using (FrmSomeForm someForm = new FrmSomeForm()
                        {
                            SomePropA = "A",
                            SomePropB = "B",
                            SomePropC = "C"
                        })
        {
            someForm.ShowDialog();
        }
于 2012-10-16T19:55:13.447 に答える
0
using (FrmSomeForm someForm = new FrmSomeForm()
    {
        SomePropA = "A",
        SomePropB = "B",
        SomePropC = "C"
    })
{
    someForm.ShowDialog();
}

フォーマットが気に入らない場合は、次のようにすることができます。

using (FrmSomeForm someForm = new FrmSomeForm() { SomePropA = "A", SomePropB = "B", SomePropC = "C" })
{
    someForm.ShowDialog();
}

または:

private FrmSomeForm InitFrmSomeForm()  
{
    return new FrmSomeForm()
    {
        SomePropA = "A",
        SomePropB = "B",
        SomePropC = "C"
    };
}

using (FrmSomeForm someForm = InitFrmSomeForm())
{
    someForm.ShowDialog();
}
于 2012-10-16T19:55:46.643 に答える
0

あなたはこのようにそれを行うことができます

using 
(
    FrmSomeForm someForm = new FrmSomeForm()
    {
        SomePropA = "A",
        SomePropB = "B",
        SomePropC = "C"
    }
)
{
     someForm.ShowDialog();
}
于 2012-10-16T19:57:24.480 に答える