PropertyInfo.GetValue () как индексировать коллекцию по строке, используя отражение в C #? - PullRequest
0 голосов
/ 20 октября 2010

Допустим, у меня есть класс, который имеет свойство NameValueCollection.

public class TestClass
{
    public NameValueCollection Values { get; private set; }

    public TestClass()
    {
        Values = new NameValueCOllection();
        Values.Add("key", "value");
        Values.Add("key1", "value1");
    }
}

Я знаю, как получить элементы коллекции Values, используя int indexer (функции GetProperty () и GetValue () могут это делать),Но как я могу получить элемент этой коллекции NameValueCollection с помощью строкового ключа, используя отражение .net?

1 Ответ

2 голосов
/ 20 октября 2010
NameValueCollection coll;
var indexer = typeof(NameValueCollection).GetProperty(
    "Item",
    new[] { typeof(string) }
);
var item = indexer.GetValue(coll, new [] { "key" } );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...