我正在尝试获取可以将值分配给多个变量的 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:
我在这里的问题应该更好地说明我试图这样做的背景。
我将只处理基本类型:字符串、int、double 和 bool,用于我要分配的变量。
我分配的数据是文本格式,并且具有可变数量的字段。每个字段都应该按照传入变量的顺序映射到其中一个输入变量。如果顺序不匹配,最好的情况是分配错误,或者最坏的情况是类型错误,但由用户决定确保变量与数据匹配。