Tôi nghĩ tôi có thể sử dụng tên toán tử C# 6 mới để xây dựng một từ điển khóa/giá trị ngầm từ một mảng params.Có thể ngụ ý tên của các tham số của một mảng params sử dụng toán tử nameof không?
Như một ví dụ, hãy xem xét các lời gọi phương thức sau đây:
string myName = "John", myAge = "33", myAddress = "Melbourne";
Test(myName, myAge, myAddress);
Tôi không chắc chắn sẽ có một thực hiện thử nghiệm rằng sẽ có thể ngụ ý tên của các yếu tố, từ mảng params.
Có cách nào để thực hiện việc này chỉ bằng cách sử dụng nameof
mà không phản ánh?
private static void Test(params string[] values)
{
List<string> keyValueList = new List<string>();
//for(int i = 0; i < values.Length; i++)
foreach(var p in values)
{
//"Key" is always "p", obviously
Console.WriteLine($"Key: {nameof(p)}, Value: {p}");
}
}
'nameof' là một cơ sở thời gian trình biên dịch, không phải là cơ sở thời gian chạy. –
Không cần 'myName',' myAge', vv để tồn tại trong IL biên dịch. Nếu nó không tồn tại, nó không thể có được. –