Определить регистр без учета регистра в качестве параметра метода контроллера - PullRequest
1 голос
/ 04 ноября 2019

Можно ли определить IEqualityComparer<TKey> для словаря, который используется в качестве входных данных для метода внутри контроллера?

Сейчас мое лучшее «решение» - это создание нового словаря и копирование данных внутри него. фильтр.

public IActionResult DoStuff([FromBody] IDictionary<string, object> data)
{
    //do stuff with Case-Insentive dictionary here
    return StatusCode(200);
}

1 Ответ

1 голос
/ 05 ноября 2019

Для словаря без учета регистра вы можете попробовать создать свой собственный словарь, например

public class CaseInSensitiveDictionary<TValue> : Dictionary<string, TValue> 
{
    public CaseInSensitiveDictionary():base(StringComparer.OrdinalIgnoreCase)
    {

    }
}

А затем

    [HttpPost]
    public IActionResult DoStuff([FromBody] CaseInSensitiveDictionary<object> data)
    {
        var t1 = data["t1"];
        var T1 = data["T1"];
        //do stuff with Case-Insentive dictionary here
        return StatusCode(200);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...