在迭代器中检索变量名

retrieve variable name in iterator

我在 C# 中有一个非常基本的 class,我已经实现了一个迭代器来循环它的所有字符串值(变量),这里是 foreach 代码:

string strList = "";
foreach (string param in vars) 
{
    strList += param + "\r\n";
}

现在这很酷,我的 class vars 包含几个 public string ... 并且它正确地循环了值,但是我还想在我的 strList 中保存什么值正在打印成一行,因此 respectove vars 变量名。

这是我到目前为止找到的解决方法,并不是我正在寻找的真正解决方案,因此我愿意接受比我的更正确的答案。在我的 class 迭代器实现中,我 return 值是这样的:

yield return first_name; yield return phone_number; ...

一个非常简单的 "solution" 是将变量名连同迭代器中的值一起传递,但是如果我需要迭代值,我将不得不拆分和过滤结果,这就是我说的原因我更喜欢更干净的解决方案:

yield return "first_name: " + first_name; 
yield return "phone_number: " + phone_number; 
...