0

フォームに複数のテキスト ボックスがあり、入力された情報を使用して というオブジェクトを作成しますUserClass。複数のユーザーを作成したいのですが、そのためにさまざまなtextboxes名前tbName1tbName2などがあります。 で変数を使用することは可能textboxnameですか? 例えばtbName[variable].Text

newUsers.Add(new ClassLibrary.UserClass
(
    "AAAAAAAA",
    tbName[variable].Text,    //Is it possible to do something like this?
    " ",
    tbLastname[variable].Text,
    tbEmail[variable].Text,
    " ",
    "0497111111",
    "0611111111",
    "USER"
));
4

2 に答える 2

0

要件を正しく理解している場合、「変数」と呼ばれる変数があり、これは整数型であり、この変数の値に応じて、同じスキーマにちなんで名付けられた異なるテキストボックスの Text プロパティを取得しますが、整数が増加します-サフィックス。次のように、リフレクションを介してこれを解決できます。

var tbNameX = (TextBox)this.GetType().GetProperty(tbName + variable).GetValue(this, null);
var tbLastnameX = (TextBox)this.GetType().GetProperty(tbLastname + variable).GetValue(this, null);
var tbEmailX = (TextBox)this.GetType().GetProperty(tbEmail + variable).GetValue(this, null);

newUsers.Add(new ClassLibrary.UserClass
(
    "AAAAAAAA",
    tbNameX.Text,    //Is it possible to do something like this?
    " ",
    tbNameX.Text,
    tbEmailX.Text,
    " ",
    "0497111111",
    "0611111111",
    "USER"
));

これには、テキストボックスに非常に厳密な名前を付ける必要があるため、間違いに対して非常に脆弱になります. これを本番環境で使用することはお勧めしませんが、動作するはずです。

于 2015-04-10T13:37:54.160 に答える