これは質問文を作成するのに最適です。親切にしてください。私は記入する必要が chkAwareness1、chkAwareness2、chkAwareness6、chkAwareness9、chkAwareness13 ...プロパティの名前が別の配列にある場合、プロパティにブール値を割り当てます。
:
私はカンマ区切り形式の値を含む文字列 "InputValues" を持っている:ここでは
は、状況です名前が上記の文字列変数にあるものと一致する場合、bool値を持つオブジェクト。例: InputValuesに「chkAwareness1」が含まれている場合は、「public bool chkAwareness1」がtrueに設定されている必要があります。
public class SurveyCheckBox
{
public bool chkAwareness1 { get; set; }
public bool chkAwareness2 { get; set; }
public bool chkAwareness3 { get; set; }
public bool chkAwareness4 { get; set; }
public bool chkAwareness5 { get; set; }
public bool chkAwareness6 { get; set; }
public bool chkAwareness7 { get; set; }
.
.
.
}
public void createObjectSurveyCheckBox(string InputValues)
{
string[] ChkValues = InputValues.Split(',');
SurveyCheckBox surveyChkBoxObj = new SurveyCheckBox();
for (int i = 0; i < NumberOfPropertyInSurveyCheckBox ;i++)
{
// typeof(SurveyCheckBox).GetProperties()[i].Name
}
}
私が検索し、私は値を検索し、プロパティをBOOLするためにそれらを割り当てる方法..私はプロパティの名前を取得することができますが、私はロジックを把握することができませんそれを通してGetPropertiesの方法を発見しました。
助けてください。
あなたは誰かが変数名を変更した場合(実行時に)黙って壊しコードを書くのはなぜ?代わりに、単一の 'Dictionary'または 'Dictionary 'を使用してください。 –
これらの値はAngularアプリからのhttpリクエストを経由して来ており、私はwebApiで受け取っています。そのイントラネットアプリケーションとコードチェンジは私の手の中だけにあります。 63個の値を持つオブジェクトを送信する代わりに、63個のチェックボックスがあり、その値はWebapiに送信する必要があります。チェックされたチェックボックスの名前を送信しました。 – Sak
安全ではなく、効率的ではなく、とにかく保守し理解しにくいコードを書く理由はありません。データベース内のレコードごとに1つのテーブルを使用することはなく、同じエンティティを表すレコードを同じテーブルに挿入します。 –