2013-12-13 3 views
1

У меня есть класс, который имеет много атрибутов. Когда я использую этот код для получения PropertyInfo, он возвращает массив с нулевым элементом.PropertiesInfo return Array with zero elemen

Type type = import.GetType(); 
PropertyInfo[] properties = type.GetProperties(BindingFlags.Instance |BindingFlags.Public); 

Я попытался this, но я до сих пор с той же проблемой.

Это мой класс

public class ImportModel 
{ 
    //REFERENSI 
    //Level Area 
    public List<LevelArea> lsLvlArea; 

    //MASTER 
    //Area 
    public List<Area> lsArea; 

    //Region 
    public List<Customer> lsCustomer; 

    //Branch 
    public List<Product> lsProduct; 

    //Distributor 
    public List<Employee> lsEmployee; 

    //Bank 
    public List<Device> lsDevice; 

    public ImportModel() 
    { 
     //Referensi 
     lsLvlArea = new List<LevelArea>(); 

     //Master 
     lsArea = new List<Area>(); 
     lsCustomer = new List<Customer>(); 
     lsDevice = new List<Device>(); 
     lsEmployee = new List<Employee>(); 
     lsProduct = new List<Product>(); 
    } 
} 

Я гугле его и не нашел решения. Пожалуйста, помогите мне.

+0

Вашего класс, кажется, не имеет свойств - только члены поле. – Baldrick

+0

спасибо, я этого не вижу. –

ответ

1

Это потому, что ни одно из них не является свойствами, это поля. Вам нужно позвонить

FieldInfo[] properties = type.GetFields(BindingFlags.Instance | BindingFlags.Public); 

В качестве альтернативы, вы можете сделать ваши поля автоматических свойств:

public List<Device> lsDevice {get; set;} 
+0

спасибо, что я меняю свое поле на свойства. –