Как переписать этот метод в C # - PullRequest
0 голосов
/ 18 мая 2018

У меня есть следующий метод:

public static dynamic ToDynamicSelectFields(this object Object, List<string> Fields)
{
    IDictionary<string, object> Expando = new ExpandoObject();
    foreach (PropertyDescriptor Property in TypeDescriptor.GetProperties(Object.GetType()))
    {
        if (Fields.Contains(Property.Name)) Expando.Add(Property.Name, Property.GetValue(Object));
    }

    return (ExpandoObject) Expando;
}

И он используется так:

class A
{
     int i;
     char c;
     string s;
}

dynamic d = A.ToDynamicSelectFields(new List<string> { "i", "c" });

, тогда d будет динамическим только с i и c полей из A.

Но я хотел бы знать, можно ли переписать это так (и как это сделать):

dynamic d = A.ToDynamic..(a => a.i && a.c);

, потому что это устранит любые возможные ошибки в написании.

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