2013-12-04 2 views
-1

В списке объектов типаC#, как получить имя поля класса

List<Configuracion.Models.v_cCfgDeclaraciones> 

Я хотел бы retrive имя поля, я хотел бы найти имя поля в пределах контура (Еогеасп) лучше, если Я не использую размышления, как я могу это разрешить?

enter image description here

+2

Чтобы перечислить все свойства объекта, вам необходимо прибегнуть к отражению. Но вы знаете тип? Затем просто скопируйте их как список строк? –

+0

Если вам просто нужны имена полей в типе, в который входит цикл? Что вы планируете делать с именами? Это может помочь нам ответить на ваш вопрос. –

+0

Что это за имена? Вы поставили скриншот, а не код, поэтому трудно догадаться, что этот код находится под наложением. Какова цель переключения внутри цикла foreach? –

ответ

0

Соединенный что-то на LINQPad. Обратите внимание, что это действительно использует отражение:

void Main() { 
     Test t = new Test(); 
     Type tType = t.GetType(); 
     foreach (PropertyInfo prop in tType.GetProperties()) { 
      prop.Name.Dump(); 
     } 
    } 

    public class Test { 
     public string prop1 { get; set; } 
     public string prop2 { get; set; } 
     public Test() { 
      prop1 = "Property 1"; 
      prop2 = "Property 2"; 
     } 
    } 

Я не знаю, как вы можете получить эту информацию (коротко жесткое кодирование его) без использования отражения. Есть ли причина, по которой вы не хотите использовать отражение в этом случае?

+0

Я не хотел использовать мышление отражения, чтобы восстановить имя поля, как показано на изображении. Но если я не могу, как вы бы с отражением? – raranibar

+0

Я думаю, что отражение - это способ сбора имен собственности. Если вы беспокоитесь об эффективности, я обнаружил, что отражение на самом деле довольно быстро. Но да, в коде выше, «prop.Name» будет тем, что вы ищете, я считаю. – dvlsg

Смежные вопросы