omo posso codificar uma função C # para aceitar um número variável de parâmetro

Eu tenho um método C # que gostaria de usar para atualizar alguns dados. O método pode ser passado por uma string, um duplo, um inteiro

public void Update(string ac, string pr, string fld, Int32 intVal = null, double dblVal = null, string strVal = null)
{

ependendo do valor de fld, eu gostaria de atualizar um determinado nome de campo na minha tabel

Existe alguma maneira de codificar os parâmetros de função para não precisar fornecer uma lista longa de possíveis tipos de valore

Ideally eu gostaria de poder chamar essa função assim:

Update("key1", "key2", "location", "London");
Update("key1" , "key2", "beds", 2);
Update("key1" , "key2", "price", 123.45);

Em seguida, na atualização da função, eu gostaria de ter:

public void Update(string ac, string pr, xxx, yyy)
    {
        try
        {
            vm.Product = _product.Get(ac, pr);
            vm.Product.xxx = yyy;
            _product.AddOrUpdate(vm.Product);
        }
        catch (Exception e) { log(e); }
    }

No xxx, gostaria de fornecer o nome do campo e o valor real do aaaa. Talvez dentro da função eu pudesse fazer algum tipo de conversão com um método case baseado no nome do campo. Eu tenho apenas um pequeno número de nomes de campos, o que poderia ser fácil. Talvez também exista uma maneira de encontrar o tipo de dados refletindo a classe vm, mas isso está muito além do meu conheciment

questionAnswers(4)

yourAnswerToTheQuestion