Как установить поля класса с помощью ключей? - PullRequest
0 голосов
/ 12 апреля 2020

Я написал обобщенный метод c, который должен позволять нам отправлять тип, массив, содержащий имена полей, и массив, содержащий значения полей. Мне нужно получить поле класса по ключу из словаря и установить значение из словаря в эти поля и создать новый экземпляр этого объекта

private static T test<T>(T obj, string[] fieldArr, string[] valueArr)
    {
        Type type = obj.GetType();

        List<string> data = new List<string>();
        var bindingFlags = BindingFlags.Instance |
                           BindingFlags.NonPublic |
                           BindingFlags.Public;
        List<PropertyInfo> props = type.GetProperties(bindingFlags).ToList();

        Dictionary<string, string> dict = new Dictionary<string, string>();

        FieldInfo[] fieldInfos = type.GetFields();

        for (int i = 0; i < fieldArr.Length; i++)
        {
            dict.Add(fieldArr[i], valueArr[i]);
        }

        var de = new List<PropertyInfo>();

        foreach (var item in dict)
        {
            var fi = type.GetProperty(item.Key);
            object obji = null;
            fi.SetValue(obji, item.Value);
            de.Add(fi);
        }


        return T;
    }

Есть предложения?

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