複数の変数に値を割り当てることができるmakeメソッドを取得しようとしています。変数がいくつあるかはわかりませんが、そのタイプはわかっています。ただし、変数はすべて異なるタイプにすることができます。
私はこれについてかなりグーグルで検索しましたが、これはマネージコードでは実行できないと確信しています。(私が間違っている場合は私を訂正してください)
安全でないコードについてはよくわかりません(読んでください:何でも)。それはそのように行うことができますか?たぶん、初期化したい変数へのポインターの配列を渡して、そのようにしますか?
私は基本的に、任意の数の混合型変数をメソッドに渡し、メソッド内でそれらの値を割り当てる方法を探しています...それは空のパイですか?
編集1:
これが私が達成したいことを説明することを望むいくつかのコードです:
private void SomeMethod()
{
string a = string.empty;
int b = 0;
double c = 0;
object[] testObject = new object[] { b, c };
SetVariables(ref testObject);
}
public static void SetVariables(ref object[] Variables)
{
for (int i = 0; i < Variables.Length; i++)
Variables[i] = // The value the variable needs to have
}
実行後SetVariables
、a、b、cは次のようになります。
a = "Some text"
b = 123
c = 1564.653
SetVariablesにパラメーターとして渡された変数にアクセスし、それらの値を変更する方法を探しています。それはメモリ内のそれらの保存場所にアクセスすることを意味すると思います、それで私はポインタが必要かもしれないと思いますか?
編集2:
ここでの私の質問は、私がこれを行おうとしている状況をよりよく示すはずです。
割り当てたい変数のstring、int、double、boolなどの基本的な型のみを扱います。
私が割り当てているデータはテキスト形式であり、フィールドの数は可変です。各フィールドは、変数が渡される順序で入力変数の1つにマップする必要があります。順序が一致しない場合は、せいぜい誤割り当てまたは最悪の場合は型エラーが発生しますが、作成するのはユーザーの責任です。変数がデータと一致することを確認してください。