Good day, 

I need to make function that will iterate on Dictionary that stores variable name and variable`s new value. After that, I need to update class variable with that value.

```
void UpdateValues(Type type, Dictionary<string, string> values)
{
    foreach (var value in values)
    {
        var fieldInfo = selected.GetComponent(type).GetType().GetField(value.Key);
        if (fieldInfo == null) continue;

        fieldInfo.SetValue(selected.GetComponent(type), value.Value);
    }
}

```

It works but I want little improvement and I absolutely don't know if it is possible. 
As you can see, that function can accept any class, not just one specific. 

If I have class like this

```
class test
{
    public string age;
}

```

And I would use function this way, it would work.

```
UpdateValues(typeof(test), new Dictionary<string, string>{{"age", "17"}});

```

Problem is if I have class like this and I would like to update "subfield" (field in field)

```
class test
{
    public string age;
}

class test2
{
    public test data;
}

```

I was thinking that syntax could be something like this, but I have no idea how could I do it.

```
UpdateValues(typeof(test2), new Dictionary<string, string>{{"data.age", "17"}});

```

**To sum it up, I need to make function that will take class that is stored in another class. Function will iterate trough the dictionary and update fields of class and even her subfields.**